Changeset 2426960
- Timestamp:
- 11/27/2020 12:39:36 AM (5 years ago)
- Location:
- minim-by-tourwriter/trunk
- Files:
-
- 9 edited
-
config.php (modified) (4 diffs)
-
dist/js/minim-by-tourwriter-admin.js (modified) (1 diff)
-
includes/admin/options-output.php (modified) (1 diff)
-
includes/minim/custom-fields.php (modified) (4 diffs)
-
includes/minim/functions.php (modified) (12 diffs)
-
includes/minim/requests.php (modified) (3 diffs)
-
languages/minim-by-tourwriter.pot (modified) (3 diffs)
-
minim-by-tourwriter.php (modified) (3 diffs)
-
readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
minim-by-tourwriter/trunk/config.php
r2265565 r2426960 2 2 // Define all global parameters here 3 3 // Default enpoint is provided in case there is no setting in .env 4 define('MINIM_DEFAULT_ENDPOINT', 'https://minim-api.tourwriter.com :3030/');4 define('MINIM_DEFAULT_ENDPOINT', 'https://minim-api.tourwriter.com/'); 5 5 6 6 // The if statements are here incase we decide to change global variables in the .env … … 21 21 // Define how different item types should show 22 22 if (!defined('MINIM_ITEM_TYPES_TO_HIDE')) define('MINIM_ITEM_TYPES_TO_HIDE', ['direction']); 23 if (!defined('MINIM_SKINNY_TYPES')) define('MINIM_SKINNY_TYPES', ['guide', 'transfer']);24 23 25 24 // Define where in the post or page the itinerary should be displayed … … 31 30 } 32 31 33 // Register admin styles and scripts32 // Register admin & wp styles and scripts 34 33 add_action('admin_enqueue_scripts', 'minim_enqueue_admin_scripts'); 34 add_action('wp_enqueue_scripts', 'minim_enqueue_wp_scripts'); 35 35 36 36 // Register plugin options … … 46 46 add_filter('the_content', 'minim_append_itinerary'); 47 47 48 // Shortcode 49 add_shortcode( 'minim_itinerary', 'show_minim_itinerary' ); 50 48 51 function minim_enqueue_admin_scripts() { 49 wp_enqueue_script( 'minim- styles', plugin_dir_url(__FILE__) . 'dist/js/minim-by-tourwriter-admin.js');52 wp_enqueue_script( 'minim-admin-scripts', plugin_dir_url(__FILE__) . 'dist/js/minim-by-tourwriter-admin.js'); 50 53 wp_enqueue_style( 'minim-admin-styles', plugin_dir_url(__FILE__) . 'dist/css/minim-by-tourwriter-admin.css'); 54 } 51 55 56 function minim_enqueue_wp_scripts() { 57 $rand = rand( 1, 99999999999 ); 58 wp_enqueue_style( 'minim-styles', plugin_dir_url(__FILE__) . 'dist/css/minim-by-tourwriter.css', '', $rand ); 59 wp_enqueue_script( 'minim-scripts', plugin_dir_url(__FILE__) . 'dist/js/minim-by-tourwriter.js', ['jquery']); 52 60 } -
minim-by-tourwriter/trunk/dist/js/minim-by-tourwriter-admin.js
r2265565 r2426960 1 !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=13)}([function(e,t,r){"use strict";var n=r(2),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function a(e){return void 0===e}function s(e){return null!==e&&"object"==typeof e}function c(e){return"[object Function]"===o.call(e)}function u(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:i,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:function(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:s,isUndefined:a,isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:c,isStream:function(e){return s(e)&&c(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:u,merge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]=r}for(var n=0,o=arguments.length;n<o;n++)u(arguments[n],r);return t},deepMerge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]="object"==typeof r?e({},r):r}for(var n=0,o=arguments.length;n<o;n++)u(arguments[n],r);return t},extend:function(e,t,r){return u(t,(function(t,o){e[o]=r&&"function"==typeof t?n(t,r):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}}},function(e,t,r){"use strict";var n=Object.prototype.hasOwnProperty,o=Array.isArray,i=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),a=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n<e.length;++n)void 0!==e[n]&&(r[n]=e[n]);return r};e.exports={arrayToObject:a,assign:function(e,t){return Object.keys(t).reduce((function(e,r){return e[r]=t[r],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],r=[],n=0;n<t.length;++n)for(var i=t[n],a=i.obj[i.prop],s=Object.keys(a),c=0;c<s.length;++c){var u=s[c],f=a[u];"object"==typeof f&&null!==f&&-1===r.indexOf(f)&&(t.push({obj:a,prop:u}),r.push(f))}return function(e){for(;e.length>1;){var t=e.pop(),r=t.obj[t.prop];if(o(r)){for(var n=[],i=0;i<r.length;++i)void 0!==r[i]&&n.push(r[i]);t.obj[t.prop]=n}}}(t),e},decode:function(e,t,r){var n=e.replace(/\+/g," ");if("iso-8859-1"===r)return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch(e){return n}},encode:function(e,t,r){if(0===e.length)return e;var n=e;if("symbol"==typeof e?n=Symbol.prototype.toString.call(e):"string"!=typeof e&&(n=String(e)),"iso-8859-1"===r)return escape(n).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var o="",a=0;a<n.length;++a){var s=n.charCodeAt(a);45===s||46===s||95===s||126===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122?o+=n.charAt(a):s<128?o+=i[s]:s<2048?o+=i[192|s>>6]+i[128|63&s]:s<55296||s>=57344?o+=i[224|s>>12]+i[128|s>>6&63]+i[128|63&s]:(a+=1,s=65536+((1023&s)<<10|1023&n.charCodeAt(a)),o+=i[240|s>>18]+i[128|s>>12&63]+i[128|s>>6&63]+i[128|63&s])}return o},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},m erge:function e(t,r,i){if(!r)return t;if("object"!=typeof r){if(o(t))t.push(r);else{if(!t||"object"!=typeof t)return[t,r];(i&&(i.plainObjects||i.allowPrototypes)||!n.call(Object.prototype,r))&&(t[r]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(r);var s=t;return o(t)&&!o(r)&&(s=a(t,i)),o(t)&&o(r)?(r.forEach((function(r,o){if(n.call(t,o)){var a=t[o];a&&"object"==typeof a&&r&&"object"==typeof r?t[o]=e(a,r,i):t.push(r)}else t[o]=r})),t):Object.keys(r).reduce((function(t,o){var a=r[o];return n.call(t,o)?t[o]=e(t[o],a,i):t[o]=a,t}),s)}}},function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},function(e,t,r){"use strict";var n=r(0);function o(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var i;if(r)i=r(t);else if(n.isURLSearchParams(t))i=t.toString();else{var a=[];n.forEach(t,(function(e,t){null!=e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),a.push(o(t)+"="+o(e))})))})),i=a.join("&")}if(i){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},function(e,t,r){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,r){"use strict";(function(t){var n=r(0),o=r(20),i={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,c={adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==t&&"[object process]"===Object.prototype.toString.call(t))&&(s=r(6)),s),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};c.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],(function(e){c.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){c.headers[e]=n.merge(i)})),e.exports=c}).call(this,r(19))},function(e,t,r){"use strict";var n=r(0),o=r(21),i=r(3),a=r(23),s=r(26),c=r(27),u=r(7);e.exports=function(e){return new Promise((function(t,f){var l=e.data,p=e.headers;n.isFormData(l)&&delete p["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password||"";p.Authorization="Basic "+btoa(h+":"+m)}var y=a(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),i(y,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?s(d.getAllResponseHeaders()):null,n={data:e.responseType&&"text"!==e.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:e,request:d};o(t,f,n),d=null}},d.onabort=function(){d&&(f(u("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){f(u("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),f(u(t,e,"ECONNABORTED",d)),d=null},n.isStandardBrowserEnv()){var v=r(28),g=(e.withCredentials||c(y))&&e.xsrfCookieName?v.read(e.xsrfCookieName):void 0;g&&(p[e.xsrfHeaderName]=g)}if("setRequestHeader"in d&&n.forEach(p,(function(e,t){void 0===l&&"content-type"===t.toLowerCase()?delete p[t]:d.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){d&&(d.abort(),f(e),d=null)})),void 0===l&&(l=null),d.send(l)}))}},function(e,t,r){"use strict";var n=r(22);e.exports=function(e,t,r,o,i){var a=new Error(e);return n(a,t,r,o,i)}},function(e,t,r){"use strict";var n=r(0);e.exports=function(e,t){t=t||{};var r={},o=["url","method","params","data"],i=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];n.forEach(o,(function(e){void 0!==t[e]&&(r[e]=t[e])})),n.forEach(i,(function(o){n.isObject(t[o])?r[o]=n.deepMerge(e[o],t[o]):void 0!==t[o]?r[o]=t[o]:n.isObject(e[o])?r[o]=n.deepMerge(e[o]):void 0!==e[o]&&(r[o]=e[o])})),n.forEach(a,(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])}));var s=o.concat(i).concat(a),c=Object.keys(t).filter((function(e){return-1===s.indexOf(e)}));return n.forEach(c,(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])})),r}},function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,r){"use strict";var n=String.prototype.replace,o=/%20/g,i=r(1),a={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports=i.assign({default:a.RFC3986,formatters:{RFC1738:function(e){return n.call(e,o,"+")},RFC3986:function(e){return String(e)}}},a)},function(e,t,r){e.exports=r(14)},function(e,t,r){"use strict";var n=r(31),o=r(32),i=r(10);e.exports={formats:i,parse:o,stringify:n}},function(e,t,r){r(34),e.exports=r(33)},function(e,t,r){"use strict";var n=r(0),o=r(2),i=r(15),a=r(8);function s(e){var t=new i(e),r=o(i.prototype.request,t);return n.extend(r,i.prototype,t),n.extend(r,t),r}var c=s(r(5));c.Axios=i,c.create=function(e){return s(a(c.defaults,e))},c.Cancel=r(9),c.CancelToken=r(29),c.isCancel=r(4),c.all=function(e){return Promise.all(e)},c.spread=r(30),e.exports=c,e.exports.default=c},function(e,t,r){"use strict";var n=r(0),o=r(3),i=r(16),a=r(17),s=r(8);function c(e){this.defaults=e,this.interceptors={request:new i,response:new i}}c.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},c.prototype.getUri=function(e){return e=s(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){c.prototype[e]=function(t,r){return this.request(n.merge(r||{},{method:e,url:t}))}})),n.forEach(["post","put","patch"],(function(e){c.prototype[e]=function(t,r,o){return this.request(n.merge(o||{},{method:e,url:t,data:r}))}})),e.exports=c},function(e,t,r){"use strict";var n=r(0);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},function(e,t,r){"use strict";var n=r(0),o=r(18),i=r(4),a=r(5);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return s(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(s(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,r){"use strict";var n=r(0);e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c,u=[],f=!1,l=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):l=-1,u.length&&d())}function d(){if(!f){var e=s(p);f=!0;for(var t=u.length;t;){for(c=u,u=[];++l<t;)c&&c[l].run();l=-1,t=u.length}c=null,f=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new h(e,t)),1!==u.length||f||s(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,r){"use strict";var n=r(0);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},function(e,t,r){"use strict";var n=r(7);e.exports=function(e,t,r){var o=r.config.validateStatus;!o||o(r.status)?e(r):t(n("Request failed with status code "+r.status,r.config,null,r.request,r))}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,r){"use strict";var n=r(24),o=r(25);e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,r){"use strict";var n=r(0),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,i,a={};return e?(n.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=n.trim(e.substr(0,i)).toLowerCase(),r=n.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}})),a):a}},function(e,t,r){"use strict";var n=r(0);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},function(e,t,r){"use strict";var n=r(0);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,o,i,a){var s=[];s.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),n.isString(o)&&s.push("path="+o),n.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,r){"use strict";var n=r(9);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,r){"use strict";var n=r(1),o=r(10),i=Object.prototype.hasOwnProperty,a={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},s=Array.isArray,c=Array.prototype.push,u=function(e,t){c.apply(e,s(t)?t:[t])},f=Date.prototype.toISOString,l=o.default,p={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,format:l,formatter:o.formatters[l],indices:!1,serializeDate:function(e){return f.call(e)},skipNulls:!1,strictNullHandling:!1},d=function e(t,r,o,i,a,c,f,l,d,h,m,y,v){var g,b=t;if("function"==typeof f?b=f(r,b):b instanceof Date?b=h(b):"comma"===o&&s(b)&&(b=b.join(",")),null===b){if(i)return c&&!y?c(r,p.encoder,v,"key"):r;b=""}if("string"==typeof(g=b)||"number"==typeof g||"boolean"==typeof g||"symbol"==typeof g||"bigint"==typeof g||n.isBuffer(b))return c?[m(y?r:c(r,p.encoder,v,"key"))+"="+m(c(b,p.encoder,v,"value"))]:[m(r)+"="+m(String(b))];var w,x=[];if(void 0===b)return x;if(s(f))w=f;else{var j=Object.keys(b);w=l?j.sort(l):j}for(var O=0;O<w.length;++O){var E=w[O];a&&null===b[E]||(s(b)?u(x,e(b[E],"function"==typeof o?o(r,E):r,o,i,a,c,f,l,d,h,m,y,v)):u(x,e(b[E],r+(d?"."+E:"["+E+"]"),o,i,a,c,f,l,d,h,m,y,v)))}return x};e.exports=function(e,t){var r,n=e,c=function(e){if(!e)return p;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||p.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=o.default;if(void 0!==e.format){if(!i.call(o.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var n=o.formatters[r],a=p.filter;return("function"==typeof e.filter||s(e.filter))&&(a=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:p.addQueryPrefix,allowDots:void 0===e.allowDots?p.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:p.charsetSentinel,delimiter:void 0===e.delimiter?p.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:p.encode,encoder:"function"==typeof e.encoder?e.encoder:p.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:p.encodeValuesOnly,filter:a,formatter:n,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:p.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:p.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:p.strictNullHandling}}(t);"function"==typeof c.filter?n=(0,c.filter)("",n):s(c.filter)&&(r=c.filter);var f,l=[];if("object"!=typeof n||null===n)return"";f=t&&t.arrayFormat in a?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var h=a[f];r||(r=Object.keys(n)),c.sort&&r.sort(c.sort);for(var m=0;m<r.length;++m){var y=r[m];c.skipNulls&&null===n[y]||u(l,d(n[y],y,h,c.strictNullHandling,c.skipNulls,c.encode?c.encoder:null,c.filter,c.sort,c.allowDots,c.serializeDate,c.formatter,c.encodeValuesOnly,c.charset))}var v=l.join(c.delimiter),g=!0===c.addQueryPrefix?"?":"";return c.charsetSentinel&&("iso-8859-1"===c.charset?g+="utf8=%26%2310003%3B&":g+="utf8=%E2%9C%93&"),v.length>0?g+v:""}},function(e,t,r){"use strict";var n=r(1),o=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:n.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},s=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},c=function(e,t,r){if(e){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,a=r.depth>0&&/(\[[^[\]]*])/.exec(n),s=a?n.slice(0,a.index):n,c=[];if(s){if(!r.plainObjects&&o.call(Object.prototype,s)&&!r.allowPrototypes)return;c.push(s)}for(var u=0;r.depth>0&&null!==(a=i.exec(n))&&u<r.depth;){if(u+=1,!r.plainObjects&&o.call(Object.prototype,a[1].slice(1,-1))&&!r.allowPrototypes)return;c.push(a[1])}return a&&c.push("["+n.slice(a.index)+"]"),function(e,t,r){for(var n=t,o=e.length-1;o>=0;--o){var i,a=e[o];if("[]"===a&&r.parseArrays)i=[].concat(n);else{i=r.plainObjects?Object.create(null):{};var s="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,c=parseInt(s,10);r.parseArrays||""!==s?!isNaN(c)&&a!==s&&String(c)===s&&c>=0&&r.parseArrays&&c<=r.arrayLimit?(i=[])[c]=n:i[s]=n:i={0:n}}n=i}return n}(c,t,r)}};e.exports=function(e,t){var r=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new Error("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?a.charset:e.charset;return{allowDots:void 0===e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:a.comma,decoder:"function"==typeof e.decoder?e.decoder:a.decoder,delimiter:"string"==typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var u="string"==typeof e?function(e,t){var r,c={},u=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,f=t.parameterLimit===1/0?void 0:t.parameterLimit,l=u.split(t.delimiter,f),p=-1,d=t.charset;if(t.charsetSentinel)for(r=0;r<l.length;++r)0===l[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===l[r]?d="utf-8":"utf8=%26%2310003%3B"===l[r]&&(d="iso-8859-1"),p=r,r=l.length);for(r=0;r<l.length;++r)if(r!==p){var h,m,y=l[r],v=y.indexOf("]="),g=-1===v?y.indexOf("="):v+1;-1===g?(h=t.decoder(y,a.decoder,d,"key"),m=t.strictNullHandling?null:""):(h=t.decoder(y.slice(0,g),a.decoder,d,"key"),m=t.decoder(y.slice(g+1),a.decoder,d,"value")),m&&t.interpretNumericEntities&&"iso-8859-1"===d&&(m=s(m)),m&&"string"==typeof m&&t.comma&&m.indexOf(",")>-1&&(m=m.split(",")),y.indexOf("[]=")>-1&&(m=i(m)?[m]:m),o.call(c,h)?c[h]=n.combine(c[h],m):c[h]=m}return c}(e,r):e,f=r.plainObjects?Object.create(null):{},l=Object.keys(u),p=0;p<l.length;++p){var d=l[p],h=c(d,u[d],r);f=n.merge(f,h,r)}return n.compact(f)}},function(e,t,r){e.exports=r.p+"css/minim-by-tourwriter-admin.css"},function(e,t,r){"use strict";r.r(t);var n=r(11),o=r.n(n),i=r(12),a=r.n(i);const s=window.origin.includes("localhost:")?"https://development-api.tourwriter.com:3030":"https://minim-api.tourwriter.com:3030";var c=async function(){const e=document.getElementById("minim-validate-button"),t=document.getElementById("minim-info");e&&e.addEventListener("click",async e=>{e.preventDefault();const r=document.getElementById("minim-key");if(t.classList.remove("minim-info--success","minim-info--error"),r.value.length>0)try{await(async e=>(await o.a.post(`${s}/authentication`,a.a.stringify({classic_key:e,strategy:"classic"}),{headers:{"Content-Type":"application/x-www-form-urlencoded"}})).data)(r.value)&&t.classList.add("minim-info--success")}catch(e){t.classList.add("minim-info--error")}else t.classList.add("minim-info--error")})};window.onload=function(){c()}}]);1 !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=13)}([function(e,t,r){"use strict";var n=r(2),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function a(e){return void 0===e}function s(e){return null!==e&&"object"==typeof e}function c(e){return"[object Function]"===o.call(e)}function u(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:i,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:function(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:s,isUndefined:a,isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:c,isStream:function(e){return s(e)&&c(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:u,merge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]=r}for(var n=0,o=arguments.length;n<o;n++)u(arguments[n],r);return t},deepMerge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]="object"==typeof r?e({},r):r}for(var n=0,o=arguments.length;n<o;n++)u(arguments[n],r);return t},extend:function(e,t,r){return u(t,(function(t,o){e[o]=r&&"function"==typeof t?n(t,r):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}}},function(e,t,r){"use strict";var n=Object.prototype.hasOwnProperty,o=Array.isArray,i=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),a=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n<e.length;++n)void 0!==e[n]&&(r[n]=e[n]);return r};e.exports={arrayToObject:a,assign:function(e,t){return Object.keys(t).reduce((function(e,r){return e[r]=t[r],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],r=[],n=0;n<t.length;++n)for(var i=t[n],a=i.obj[i.prop],s=Object.keys(a),c=0;c<s.length;++c){var u=s[c],f=a[u];"object"==typeof f&&null!==f&&-1===r.indexOf(f)&&(t.push({obj:a,prop:u}),r.push(f))}return function(e){for(;e.length>1;){var t=e.pop(),r=t.obj[t.prop];if(o(r)){for(var n=[],i=0;i<r.length;++i)void 0!==r[i]&&n.push(r[i]);t.obj[t.prop]=n}}}(t),e},decode:function(e,t,r){var n=e.replace(/\+/g," ");if("iso-8859-1"===r)return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch(e){return n}},encode:function(e,t,r){if(0===e.length)return e;var n=e;if("symbol"==typeof e?n=Symbol.prototype.toString.call(e):"string"!=typeof e&&(n=String(e)),"iso-8859-1"===r)return escape(n).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var o="",a=0;a<n.length;++a){var s=n.charCodeAt(a);45===s||46===s||95===s||126===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122?o+=n.charAt(a):s<128?o+=i[s]:s<2048?o+=i[192|s>>6]+i[128|63&s]:s<55296||s>=57344?o+=i[224|s>>12]+i[128|s>>6&63]+i[128|63&s]:(a+=1,s=65536+((1023&s)<<10|1023&n.charCodeAt(a)),o+=i[240|s>>18]+i[128|s>>12&63]+i[128|s>>6&63]+i[128|63&s])}return o},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(o(e)){for(var r=[],n=0;n<e.length;n+=1)r.push(t(e[n]));return r}return t(e)},merge:function e(t,r,i){if(!r)return t;if("object"!=typeof r){if(o(t))t.push(r);else{if(!t||"object"!=typeof t)return[t,r];(i&&(i.plainObjects||i.allowPrototypes)||!n.call(Object.prototype,r))&&(t[r]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(r);var s=t;return o(t)&&!o(r)&&(s=a(t,i)),o(t)&&o(r)?(r.forEach((function(r,o){if(n.call(t,o)){var a=t[o];a&&"object"==typeof a&&r&&"object"==typeof r?t[o]=e(a,r,i):t.push(r)}else t[o]=r})),t):Object.keys(r).reduce((function(t,o){var a=r[o];return n.call(t,o)?t[o]=e(t[o],a,i):t[o]=a,t}),s)}}},function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},function(e,t,r){"use strict";var n=r(0);function o(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var i;if(r)i=r(t);else if(n.isURLSearchParams(t))i=t.toString();else{var a=[];n.forEach(t,(function(e,t){null!=e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),a.push(o(t)+"="+o(e))})))})),i=a.join("&")}if(i){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},function(e,t,r){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,r){"use strict";(function(t){var n=r(0),o=r(20),i={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,c={adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==t&&"[object process]"===Object.prototype.toString.call(t))&&(s=r(6)),s),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};c.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],(function(e){c.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){c.headers[e]=n.merge(i)})),e.exports=c}).call(this,r(19))},function(e,t,r){"use strict";var n=r(0),o=r(21),i=r(3),a=r(23),s=r(26),c=r(27),u=r(7);e.exports=function(e){return new Promise((function(t,f){var l=e.data,p=e.headers;n.isFormData(l)&&delete p["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password||"";p.Authorization="Basic "+btoa(h+":"+m)}var y=a(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),i(y,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?s(d.getAllResponseHeaders()):null,n={data:e.responseType&&"text"!==e.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:e,request:d};o(t,f,n),d=null}},d.onabort=function(){d&&(f(u("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){f(u("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),f(u(t,e,"ECONNABORTED",d)),d=null},n.isStandardBrowserEnv()){var v=r(28),g=(e.withCredentials||c(y))&&e.xsrfCookieName?v.read(e.xsrfCookieName):void 0;g&&(p[e.xsrfHeaderName]=g)}if("setRequestHeader"in d&&n.forEach(p,(function(e,t){void 0===l&&"content-type"===t.toLowerCase()?delete p[t]:d.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){d&&(d.abort(),f(e),d=null)})),void 0===l&&(l=null),d.send(l)}))}},function(e,t,r){"use strict";var n=r(22);e.exports=function(e,t,r,o,i){var a=new Error(e);return n(a,t,r,o,i)}},function(e,t,r){"use strict";var n=r(0);e.exports=function(e,t){t=t||{};var r={},o=["url","method","params","data"],i=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];n.forEach(o,(function(e){void 0!==t[e]&&(r[e]=t[e])})),n.forEach(i,(function(o){n.isObject(t[o])?r[o]=n.deepMerge(e[o],t[o]):void 0!==t[o]?r[o]=t[o]:n.isObject(e[o])?r[o]=n.deepMerge(e[o]):void 0!==e[o]&&(r[o]=e[o])})),n.forEach(a,(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])}));var s=o.concat(i).concat(a),c=Object.keys(t).filter((function(e){return-1===s.indexOf(e)}));return n.forEach(c,(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])})),r}},function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,r){"use strict";var n=String.prototype.replace,o=/%20/g,i=r(1),a={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports=i.assign({default:a.RFC3986,formatters:{RFC1738:function(e){return n.call(e,o,"+")},RFC3986:function(e){return String(e)}}},a)},function(e,t,r){e.exports=r(14)},function(e,t,r){"use strict";var n=r(31),o=r(32),i=r(10);e.exports={formats:i,parse:o,stringify:n}},function(e,t,r){r(35),r(33),e.exports=r(34)},function(e,t,r){"use strict";var n=r(0),o=r(2),i=r(15),a=r(8);function s(e){var t=new i(e),r=o(i.prototype.request,t);return n.extend(r,i.prototype,t),n.extend(r,t),r}var c=s(r(5));c.Axios=i,c.create=function(e){return s(a(c.defaults,e))},c.Cancel=r(9),c.CancelToken=r(29),c.isCancel=r(4),c.all=function(e){return Promise.all(e)},c.spread=r(30),e.exports=c,e.exports.default=c},function(e,t,r){"use strict";var n=r(0),o=r(3),i=r(16),a=r(17),s=r(8);function c(e){this.defaults=e,this.interceptors={request:new i,response:new i}}c.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},c.prototype.getUri=function(e){return e=s(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){c.prototype[e]=function(t,r){return this.request(n.merge(r||{},{method:e,url:t}))}})),n.forEach(["post","put","patch"],(function(e){c.prototype[e]=function(t,r,o){return this.request(n.merge(o||{},{method:e,url:t,data:r}))}})),e.exports=c},function(e,t,r){"use strict";var n=r(0);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},function(e,t,r){"use strict";var n=r(0),o=r(18),i=r(4),a=r(5);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return s(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(s(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,r){"use strict";var n=r(0);e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c,u=[],f=!1,l=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):l=-1,u.length&&d())}function d(){if(!f){var e=s(p);f=!0;for(var t=u.length;t;){for(c=u,u=[];++l<t;)c&&c[l].run();l=-1,t=u.length}c=null,f=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new h(e,t)),1!==u.length||f||s(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,r){"use strict";var n=r(0);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},function(e,t,r){"use strict";var n=r(7);e.exports=function(e,t,r){var o=r.config.validateStatus;!o||o(r.status)?e(r):t(n("Request failed with status code "+r.status,r.config,null,r.request,r))}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,r){"use strict";var n=r(24),o=r(25);e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,r){"use strict";var n=r(0),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,i,a={};return e?(n.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=n.trim(e.substr(0,i)).toLowerCase(),r=n.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}})),a):a}},function(e,t,r){"use strict";var n=r(0);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},function(e,t,r){"use strict";var n=r(0);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,o,i,a){var s=[];s.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),n.isString(o)&&s.push("path="+o),n.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,r){"use strict";var n=r(9);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,r){"use strict";var n=r(1),o=r(10),i=Object.prototype.hasOwnProperty,a={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},s=Array.isArray,c=Array.prototype.push,u=function(e,t){c.apply(e,s(t)?t:[t])},f=Date.prototype.toISOString,l=o.default,p={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,format:l,formatter:o.formatters[l],indices:!1,serializeDate:function(e){return f.call(e)},skipNulls:!1,strictNullHandling:!1},d=function e(t,r,o,i,a,c,f,l,d,h,m,y,v){var g,b=t;if("function"==typeof f?b=f(r,b):b instanceof Date?b=h(b):"comma"===o&&s(b)&&(b=n.maybeMap(b,(function(e){return e instanceof Date?h(e):e})).join(",")),null===b){if(i)return c&&!y?c(r,p.encoder,v,"key"):r;b=""}if("string"==typeof(g=b)||"number"==typeof g||"boolean"==typeof g||"symbol"==typeof g||"bigint"==typeof g||n.isBuffer(b))return c?[m(y?r:c(r,p.encoder,v,"key"))+"="+m(c(b,p.encoder,v,"value"))]:[m(r)+"="+m(String(b))];var w,x=[];if(void 0===b)return x;if(s(f))w=f;else{var j=Object.keys(b);w=l?j.sort(l):j}for(var O=0;O<w.length;++O){var E=w[O],S=b[E];if(!a||null!==S){var N=s(b)?"function"==typeof o?o(r,E):r:r+(d?"."+E:"["+E+"]");u(x,e(S,N,o,i,a,c,f,l,d,h,m,y,v))}}return x};e.exports=function(e,t){var r,n=e,c=function(e){if(!e)return p;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||p.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=o.default;if(void 0!==e.format){if(!i.call(o.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var n=o.formatters[r],a=p.filter;return("function"==typeof e.filter||s(e.filter))&&(a=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:p.addQueryPrefix,allowDots:void 0===e.allowDots?p.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:p.charsetSentinel,delimiter:void 0===e.delimiter?p.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:p.encode,encoder:"function"==typeof e.encoder?e.encoder:p.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:p.encodeValuesOnly,filter:a,formatter:n,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:p.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:p.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:p.strictNullHandling}}(t);"function"==typeof c.filter?n=(0,c.filter)("",n):s(c.filter)&&(r=c.filter);var f,l=[];if("object"!=typeof n||null===n)return"";f=t&&t.arrayFormat in a?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var h=a[f];r||(r=Object.keys(n)),c.sort&&r.sort(c.sort);for(var m=0;m<r.length;++m){var y=r[m];c.skipNulls&&null===n[y]||u(l,d(n[y],y,h,c.strictNullHandling,c.skipNulls,c.encode?c.encoder:null,c.filter,c.sort,c.allowDots,c.serializeDate,c.formatter,c.encodeValuesOnly,c.charset))}var v=l.join(c.delimiter),g=!0===c.addQueryPrefix?"?":"";return c.charsetSentinel&&("iso-8859-1"===c.charset?g+="utf8=%26%2310003%3B&":g+="utf8=%E2%9C%93&"),v.length>0?g+v:""}},function(e,t,r){"use strict";var n=r(1),o=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:n.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},s=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},c=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},u=function(e,t,r,n){if(e){var i=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,s=r.depth>0&&/(\[[^[\]]*])/.exec(i),u=s?i.slice(0,s.index):i,f=[];if(u){if(!r.plainObjects&&o.call(Object.prototype,u)&&!r.allowPrototypes)return;f.push(u)}for(var l=0;r.depth>0&&null!==(s=a.exec(i))&&l<r.depth;){if(l+=1,!r.plainObjects&&o.call(Object.prototype,s[1].slice(1,-1))&&!r.allowPrototypes)return;f.push(s[1])}return s&&f.push("["+i.slice(s.index)+"]"),function(e,t,r,n){for(var o=n?t:c(t,r),i=e.length-1;i>=0;--i){var a,s=e[i];if("[]"===s&&r.parseArrays)a=[].concat(o);else{a=r.plainObjects?Object.create(null):{};var u="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,f=parseInt(u,10);r.parseArrays||""!==u?!isNaN(f)&&s!==u&&String(f)===u&&f>=0&&r.parseArrays&&f<=r.arrayLimit?(a=[])[f]=o:a[u]=o:a={0:o}}o=a}return o}(f,t,r,n)}};e.exports=function(e,t){var r=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?a.charset:e.charset;return{allowDots:void 0===e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:a.comma,decoder:"function"==typeof e.decoder?e.decoder:a.decoder,delimiter:"string"==typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var f="string"==typeof e?function(e,t){var r,u={},f=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,l=t.parameterLimit===1/0?void 0:t.parameterLimit,p=f.split(t.delimiter,l),d=-1,h=t.charset;if(t.charsetSentinel)for(r=0;r<p.length;++r)0===p[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===p[r]?h="utf-8":"utf8=%26%2310003%3B"===p[r]&&(h="iso-8859-1"),d=r,r=p.length);for(r=0;r<p.length;++r)if(r!==d){var m,y,v=p[r],g=v.indexOf("]="),b=-1===g?v.indexOf("="):g+1;-1===b?(m=t.decoder(v,a.decoder,h,"key"),y=t.strictNullHandling?null:""):(m=t.decoder(v.slice(0,b),a.decoder,h,"key"),y=n.maybeMap(c(v.slice(b+1),t),(function(e){return t.decoder(e,a.decoder,h,"value")}))),y&&t.interpretNumericEntities&&"iso-8859-1"===h&&(y=s(y)),v.indexOf("[]=")>-1&&(y=i(y)?[y]:y),o.call(u,m)?u[m]=n.combine(u[m],y):u[m]=y}return u}(e,r):e,l=r.plainObjects?Object.create(null):{},p=Object.keys(f),d=0;d<p.length;++d){var h=p[d],m=u(h,f[h],r,"string"==typeof e);l=n.merge(l,m,r)}return n.compact(l)}},function(e,t,r){e.exports=r.p+"css/minim-by-tourwriter-admin.css"},function(e,t,r){e.exports=r.p+"css/minim-by-tourwriter.css"},function(e,t,r){"use strict";r.r(t);var n=r(11),o=r.n(n),i=r(12),a=r.n(i);const s=window.origin.includes("localhost:")?"https://development-api.tourwriter.com:3030":"https://minim-api.tourwriter.com:3030";var c=async function(){const e=document.getElementById("minim-validate-button"),t=document.getElementById("minim-info");e&&e.addEventListener("click",async e=>{e.preventDefault();const r=document.getElementById("minim-key");if(t.classList.remove("minim-info--success","minim-info--error"),r.value.length>0)try{await(async e=>(await o.a.post(s+"/authentication",a.a.stringify({classic_key:e,strategy:"classic"}),{headers:{"Content-Type":"application/x-www-form-urlencoded"}})).data)(r.value)&&t.classList.add("minim-info--success")}catch(e){t.classList.add("minim-info--error")}else t.classList.add("minim-info--error")})};window.onload=function(){c()}}]); -
minim-by-tourwriter/trunk/includes/admin/options-output.php
r2305320 r2426960 103 103 104 104 </form> 105 <div> 106 <h3>Shortcode</h3> 107 <p>The Minim itinerary shortcode makes it possible to display a Minim itinerary on any page or post.</p> 108 <p>The shortcode acccepts 1 parameter:</p> 109 <p><strong>id</strong> : this is the ID of the itinerary which can be found in Minim</p> 110 <h3>Example implementation</h3> 111 <p>[minim_itinerary id="MinimID"]</p> 112 </div> 105 113 </div> 106 114 <?php -
minim-by-tourwriter/trunk/includes/minim/custom-fields.php
r2305320 r2426960 6 6 return [ 7 7 'itinerary_id', 8 'itinerary_display' 8 'itinerary_display', 9 'itinerary_key' 9 10 ]; 10 11 } … … 31 32 $itinerary_ID = get_post_meta( $post_id , 'itinerary_id', true ); 32 33 $itinerary_display = get_post_meta( $post_id , 'itinerary_display', true ); 34 $itinerary_key = get_post_meta( $post_id , 'itinerary_key', true ); 33 35 34 36 // Ensure default display option is selected if no value is present … … 83 85 <span>Hide itinerary</span> 84 86 </label> 87 <label for="itinerary_key"> 88 <strong class="minim-title"><?php _e('Minim Classic Key', 'minim-by-tourwriter') ?></strong> 89 <?php _e('If you want to use a different API key to the one specified in the settings you can add that here.') ?> 90 <div> 91 <input 92 class="minim-id widefat" 93 id="itinerary_key" 94 name="itinerary_key" 95 type="text" 96 value="<?php echo esc_attr( $itinerary_key ); ?>"> 97 </div> 98 </label> 85 99 <?php 86 100 } … … 131 145 } 132 146 break; 147 case 'itinerary_key': 148 $value = sanitize_text_field( $_POST[$field] ); 149 break; 133 150 default: 134 151 $value = ''; -
minim-by-tourwriter/trunk/includes/minim/functions.php
r2305320 r2426960 10 10 if( $a['orders'] || $b['orders'] ) { 11 11 12 // Always set item lower if it's value is 0 13 if( $a['orders'][0]['order'] === 0) {12 // Always set item lower if it's value is 0 or there is no order set 13 if(!is_array($a['orders']) || !is_array($b['orders']) || $a['orders'][0]['order'] === 0) { 14 14 return -1; 15 15 } … … 32 32 // Each itinerary contains assets, bookable_items and non_bookable_items 33 33 function minim_get_itinerary_items( $itinerary ) { 34 // Abort if there are no items in the itinerary 35 if(!isset($itinerary['items'])) { 36 return; 37 } 38 34 39 $items = []; 35 40 … … 39 44 $nb_items = $i['non_bookable_items']; 40 45 41 // Add non_bookable items 42 if( is_array( $nb_items ) && !empty( $nb_items ) ) { 43 $item = $nb_items[0]; 44 45 // Change 'date' to 'start_date' to match bookable items data structure 46 if( !array_key_exists( 'start_date', $item ) && isset( $item['date'] ) ) { 47 $item['start_date'] = $item['date']; 48 unset( $item['date'] ); 49 array_push( $items, $item ); 50 } 51 } 52 53 // Add bookable items 54 if( is_array( $b_items ) && !empty( $b_items ) ) { 55 56 if( $b_items[0]['type'] !== 'fee' ) { 57 array_push( $items, $b_items[0] ); 58 } 59 46 // Check for multiple non bookable items 47 foreach($nb_items as $nb) { 48 // Add non_bookable items 49 if( is_array( $nb ) && !empty( $nb ) ) { 50 $item = $nb; 51 52 // Change 'date' to 'start_date' to match bookable items data structure 53 if( !array_key_exists( 'start_date', $item ) && isset( $item['date'] ) ) { 54 $item['start_date'] = $item['date']; 55 unset( $item['date'] ); 56 array_push( $items, $item ); 57 } 58 } 59 } 60 // Multiple bookable items per supplier may exist 61 foreach($b_items as $b) { 62 // Add bookable items 63 if( is_array( $b ) && !empty( $b ) ) { 64 65 if( $b['type'] !== 'fee' ) { 66 array_push( $items, $b ); 67 } 68 69 } 60 70 } 61 71 } … … 68 78 69 79 function minim_get_itinerary_item_image( $item ) { 70 $imgSize = minim_get_itinerary_item_image_size( $item );71 $imgClass = minim_get_itinerary_item_image_class( $imgSize );72 73 80 if( is_array( $item['assets'] ) && !empty( $item['assets'] ) ) { 74 81 $assets = $item['assets'][0]; … … 79 86 if( isset( $image['thumbnail'] ) ) { 80 87 $thumb = esc_html( $image['thumbnail'] ); 81 $src = str_replace( 'thumbnail', '/'.$imgSize.'/assets/', $thumb ); 82 83 return '<figure class="wp-block-image minim-itinerary-item-image'.$imgClass.'"><img src="'.$src.'" alt="'.$item_name.'"></figure>'; 88 $src = str_replace( 'thumbnail', '/'.MINIM_IMAGE_STANDARD.'/assets/', $thumb ); 89 90 return' 91 <div class="minim-itinerary-item-image"> 92 <img src="'.$src.'" alt="'.$item_name.'"> 93 </div>'; 84 94 } 85 95 } … … 102 112 } 103 113 104 function minim_get_itinerary_item_image_size( $item ) {105 $size = MINIM_IMAGE_STANDARD;106 $infoLength = strlen( $item['name'] ) * 3 + strlen( $item['description'] );107 108 // Use square image if info size is quite long109 if( $infoLength > 500 ) {110 $size = MINIM_IMAGE_SQUARE;111 }112 113 // Use thumbnail if item should show as "skinny"114 if( in_array( $item['type'], MINIM_SKINNY_TYPES ) ) {115 $size = MINIM_IMAGE_THUMBNAIL;116 }117 118 return $size;119 }120 121 114 function minim_get_item_addons( $item ) { 122 115 $item_addons = isset( $item['addons'] ) ? $item['addons'] : ''; … … 145 138 $title = ''; 146 139 $start = $item['start_date']; 147 $end = $item['end_date'];148 140 149 141 if( isset( $item['name'] ) ) { 150 $title = '<h2 class="minim-itinerary-item-title">'.$item['name']; 151 152 if( isset( $end ) && $start !== $end ) { 153 $numDays = minim_get_day_difference( $start, $end ); 142 $item_title = isset( $item['name'] ) ? esc_html( $item['name'] ) : ''; 143 if( isset( $item['classic_override'] )) 144 $item_title = esc_html( $item['classic_override'] ); 145 146 $title = '<h3 class="minim-itinerary-item-title">'.$item_title; 147 148 if( isset( $item['end_date'] ) && $start !== $item['end_date'] ) { 149 $numDays = minim_get_day_difference( $start, $item['end_date'] ); 154 150 155 151 if( $item['type'] === 'accommodation' ) { … … 159 155 } 160 156 } 161 $title .= '</h 2>';157 $title .= '</h3>'; 162 158 } 163 159 … … 168 164 $html = ''; 169 165 $day = 0; 166 167 if(!$items) { 168 return; 169 } 170 170 171 171 // Assume that the first item in an itinerary appears on the first day … … 190 190 if( $daysPassed !== $day ){ 191 191 $day = $daysPassed; 192 $html .= '<h3 class="minim-itinerary-day"><span>Day '.$day.'</span></h3>'; 193 } 194 195 // Add a CSS class for skinny items 196 if( in_array( $item_type, MINIM_SKINNY_TYPES ) ) { 197 $itemClass .= ' minim-itinerary-item--skinny'; 192 $html .= '<h4>Day '.$day.'</h4>'; 198 193 } 199 194 … … 224 219 $itinerary_ID = get_post_meta( $post_ID, 'itinerary_id', true ); 225 220 $itinerary_display = get_post_meta( $post_ID, 'itinerary_display', true ); 221 $itinerary_key = get_post_meta( $post_ID, 'itinerary_key', true ); 226 222 $minim_API = minim_get_options(); 227 223 $itineraryContent = ''; 228 224 229 225 if( $itinerary_ID && $minim_API['minim_key'] !== '' ){ 230 $itinerary = minim_get_itinerary_data( $itinerary_ID ); 226 // Use Classic Key set on the itinerary level if it exists 227 if($itinerary_key && $itinerary_key !== '') { 228 $itinerary = minim_get_itinerary_data( $itinerary_ID, $itinerary_key ); 229 } else { 230 $itinerary = minim_get_itinerary_data( $itinerary_ID ); 231 } 232 231 233 if ( isset( $itinerary['items'] ) ){ 232 234 … … 271 273 return new WP_Error( 'itinerary', __( 'This content cannot be displayed. Please ensure that you have entered the correct Itinerary ID.', 'minim-by-tourwriter' ) ); 272 274 } 275 276 function show_minim_itinerary( $atts ) { 277 // normalize attribute keys, lowercase 278 $atts = array_change_key_case((array)$atts, CASE_LOWER); 279 280 // Return empty string if there is no itinerary ID set 281 if(!isset($atts['id'])) { 282 return ''; 283 } 284 285 $id = $atts['id']; 286 287 // Use the classic key from the shortcode if it exists 288 if(isset($atts['classic-key'])) { 289 $key = $atts['classic-key']; 290 } else { 291 $key = MINIM_API_KEY; 292 } 293 294 // Don't return any content if we can't find the classic key 295 if($key === '') { 296 return ''; 297 } 298 299 // Get the itinerary content using the itinerary ID and classic key 300 $itinerary = minim_get_itinerary_data($id, $key); 301 $items = minim_get_itinerary_items($itinerary); 302 $content = minim_format_itinerary_items($items); 303 304 return $content; 305 } 306 -
minim-by-tourwriter/trunk/includes/minim/requests.php
r2305320 r2426960 15 15 } 16 16 17 function minim_get_access_token( ) {17 function minim_get_access_token($key) { 18 18 $url = MINIM_ENDPOINT.'authentication'; 19 19 $data = [ 20 'classic_key' => MINIM_API_KEY,20 'classic_key' => $key, 21 21 'strategy' => 'classic' 22 22 ]; … … 35 35 } 36 36 37 function minim_get_request_headers( ) {38 $tokenResult = minim_get_access_token( );37 function minim_get_request_headers($key) { 38 $tokenResult = minim_get_access_token($key); 39 39 40 40 if(!is_array($tokenResult)) { … … 64 64 /* 65 65 * $id (string) Minim itinerary ID 66 * $key (string) Minim Classic Key, defaults to global key if not set on the itinerary 66 67 */ 67 function minim_get_itinerary_data( $id ) { 68 $url = MINIM_ENDPOINT.'itineraries/'.$id.MINIM_REQUEST_PARAMS; 68 function minim_get_itinerary_data( $id, $key = MINIM_API_KEY ) { 69 $cache_dir = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/cache/minim-cache'; 70 $cache_file = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/cache/minim-cache/'. $id . '.json'; 71 $json_data = ''; 69 72 70 $headers = minim_get_request_headers(); 71 if( !$headers ) return false; 73 if (!file_exists($cache_dir)) { 74 mkdir($cache_dir, 0777, true); 75 } 76 77 if (file_exists($cache_file) && (filemtime($cache_file) > (time() - 60 * 60 * 24 ))) { 78 // Cache file is less than five minutes old. 79 // Don't bother refreshing, just use the file as-is. 80 $json_data = file_get_contents($cache_file); 81 } else { 82 // Our cache is out-of-date, so load the data from our remote server, 83 // and also save it over our cache for next time. 84 $url = MINIM_ENDPOINT.'itineraries/'.$id.MINIM_REQUEST_PARAMS; 72 85 73 $response = wp_remote_get( $url, ['headers' => $headers] ); 86 $headers = minim_get_request_headers($key); 87 if( !$headers ) return false; 88 89 $response = wp_remote_get( $url, ['headers' => $headers] ); 90 91 if ( is_wp_error( $response ) ) { 92 if( WP_DEBUG ) { 93 $error_message = $response->get_error_message(); 94 echo "Something went wrong with the GET request: $error_message"; 95 var_dump( $response ); 96 } 97 return false; 98 } else { 99 $json_data = $response['body']; 100 } 101 file_put_contents($cache_file, $json_data, LOCK_EX); 102 } 74 103 75 if ( is_wp_error( $response ) ) { 76 if( WP_DEBUG ) { 77 $error_message = $response->get_error_message(); 78 echo "Something went wrong with the GET request: $error_message"; 79 var_dump( $response ); 80 } 81 return false; 82 } else { 83 return json_decode( $response['body'], true ); 84 } 104 return json_decode( $json_data, true ); 85 105 } 86 87 function minim_get_itineraries_data( $limit=100 ) {88 $url = MINIM_ENDPOINT.'itineraries'.MINIM_REQUEST_PARAMS.'&$limit='.$limit;89 90 $headers = minim_get_request_headers();91 if( !$headers ) return false;92 93 return minim_fetch_data( $url, $headers );94 }95 96 function minim_get_itineraries_content( $postsPerPage=100 ) {97 $posts = get_posts( ['posts_per_page' => $postsPerPage, 'post_type' => 'itinerary'] );98 $itineraries = minim_get_itineraries_data();99 100 if( !$itineraries ) {101 return '<p class="minim-error">ERROR: unable to retrieve itineraries from Minim</p>';102 }103 104 // Return error message is no data was returned from Minim105 if( !array_key_exists( 'data', $itineraries ) ) {106 return '<p class="minim-error">ERROR: No itineraries were found.</p>';107 }108 109 // Return error message if the access token is incorrect110 if( array_key_exists( 'name', $itineraries['data'] ) ) {111 if( $itineraries['data']['name'] == 'JsonWebTokenError' ) {112 return '<p class="minim-error">ERROR: There was a problem generating an access token for the Minim API request</p>';113 }114 }115 116 $html = '';117 118 foreach( $posts as $post ){119 $itin_ID = get_post_meta( $post->ID, 'itinerary_id' );120 $html .= '<div class="minim-itineraries-list-item">';121 $html .= '<a href="/'.$post->post_name.'"><h2>'.$post->post_title.'</h2></a>';122 123 foreach( $itineraries['data'] as $image ){124 if( $image['id'] === $itin_ID ){125 if( empty( $image['heros'] ) ){126 $itin_img = get_post_meta( $post->ID, 'itinerary_image' );127 $html .= '<img src="'.$itin_img['sizes']['large'].'" alt="'.TW_PLACEHOLDER_IMG_URL.'">';128 } else {129 foreach( $image['heros'] as $img ){130 $html .= '<img src="'.$img['image_urls']['square'].'" alt="'.$img['image_urls']['square'].'">';131 }132 }133 }134 }135 $html .= '</div>';136 }137 138 return $html;139 } -
minim-by-tourwriter/trunk/languages/minim-by-tourwriter.pot
r2305320 r2426960 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Minim by Tourwriter 1.0.1\n"5 "Project-Id-Version: Minim by Tourwriter 2.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/minim-by-tourwriter\n" 7 "Last-Translator: Graeme Thornber <[email protected]>\n"8 "Language-Team: \n"7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 8 "Language-Team: LANGUAGE <[email protected]>\n" 9 9 "MIME-Version: 1.0\n" 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2020- 04-14T23:16:20+00:00\n"13 "PO-Revision-Date: 2020-04-14T23:16:20+00:00\n"12 "POT-Creation-Date: 2020-11-27T00:24:38+00:00\n" 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.4.0\n" 15 15 "X-Domain: minim-by-tourwriter\n" 16 16 17 17 #. Plugin Name of the plugin 18 #: includes/minim/custom-fields.php:1 718 #: includes/minim/custom-fields.php:18 19 19 msgid "Minim by Tourwriter" 20 20 msgstr "" … … 49 49 50 50 #: includes/admin/options-output.php:30 51 #: includes/minim/custom-fields.php:88 51 52 msgid "Minim Classic Key" 52 53 msgstr "" … … 92 93 msgstr "" 93 94 94 #: includes/minim/custom-fields.php:6 195 #: includes/minim/custom-fields.php:63 95 96 msgid "Itinerary ID" 96 97 msgstr "" 97 98 98 #: includes/minim/custom-fields.php:6 299 #: includes/minim/custom-fields.php:64 99 100 msgid "The ID of the itinerary you would like to show. This is a random string of letters and numbers around 30 characters long and can be found in the URL (address bar) of your itinerary in Minim." 100 101 msgstr "" 101 102 102 #: includes/minim/custom-fields.php:7 2103 #: includes/minim/custom-fields.php:74 103 104 msgid "Itinerary placement" 104 105 msgstr "" 105 106 106 #: includes/minim/functions.php:24 1107 #: includes/minim/functions.php:243 107 108 msgid "This itinerary does not seem to contain any viewable items. Please update the itinerary in Minim to view the items here." 108 109 msgstr "" 109 110 110 #: includes/minim/functions.php:27 1111 #: includes/minim/functions.php:273 111 112 msgid "This content cannot be displayed. Please ensure that you have entered the correct Itinerary ID." 112 113 msgstr "" -
minim-by-tourwriter/trunk/minim-by-tourwriter.php
r2305320 r2426960 5 5 Description: Integrate Tourwriter's Minim software with your Wordpress website to display beautiful itineraries 6 6 Author: Tourwriter 7 Version: 1.0.17 Version: 2.0 8 8 Author URI: https://www.tourwriter.com 9 9 Text Domain: minim-by-tourwriter … … 24 24 25 25 // Admin Panel folders 26 require_once MINIM_PLUGIN_DIR . 'includes/admin/options-output.php'; // Add option to side menus26 require_once MINIM_PLUGIN_DIR . 'includes/admin/options-output.php'; // Add fields to settings page 27 27 require_once MINIM_PLUGIN_DIR . 'includes/admin/options.php'; // this loads inside the output. 28 28 … … 31 31 32 32 // Custom Fields 33 require_once MINIM_PLUGIN_DIR . 'includes/minim/custom-fields.php'; 33 // TEMPORARILY DISABLE THE SIDEBAR, IT WILL BE REMOVED ALTOGETHER IN A FUTURE VERSION 34 // require_once MINIM_PLUGIN_DIR . 'includes/minim/custom-fields.php'; 34 35 35 36 // Minim integration - minim folder -
minim-by-tourwriter/trunk/readme.txt
r2305320 r2426960 4 4 Plugin Name: Minim by Tourwriter 5 5 Plugin URI: https://websitebuilder.tourwriter.com 6 Tags: travel, itinerary, tours, software, tour operator, dmc, tourwriter, minim6 Tags: itinerary, software, tour operators, tours, travel, itinerary builder software 7 7 Requires at least: 4.4 8 Tested up to: 5. 4.18 Tested up to: 5.5.3 9 9 Requires PHP: 5.2 10 Stable tag: 1.0.110 Stable tag: 2.0 11 11 12 12 == Description == … … 14 14 = Easily display your Minim itineraries on your website = 15 15 16 Integrates Minim tour operator software with Wordpress by allowing itineraries created in Minim to be embedded in your Wordpress posts and pages.16 Minim is beautifully simple itinerary builder software that allows tour operators to craft, book, and manage their itineraries. 17 17 18 Displaying Minim itineraries on your website is now as simple as creating regular posts.18 The **Minim by Tourwriter** plugin allows you to integrate your website with Minim. Together, you can seamlessly showcase your Minim itineraries on your website for your current and potential customers to see. 19 19 20 == Installation == 20 Not currently using Minim to build your itineraries? [Start a 21 day free trial now](https://minim.tourwriter.com/free-trial?ref=plugin). 21 21 22 = An active Minim account is required to use this plugin=22 = How it works = 23 23 24 If you don't have a Minim account you can [sign up for a free trial](https://minim.tourwriter.com/free-trial?ref=plugin). 25 26 Once the plugin is installed and activated go to **Settings->Minim by Tourwriter** and follow the instructions to add your **Minim Classic Key** which can be found on the profile page in Minim. This acts as an API key to allow your website to access itineraries on your Minim account. 27 28 Now when you navigate to a post or page in your Wordpress admin you should see a new **Minim by Tourwriter** tab in the right hand sidebar of the edit screen. Obtain from Minim the ID of the itinerary you want to display and paste it into the Itinerary ID field. 29 30 Once your changes are saved you should be able to visit the page and see your Minim Itinerary embedded as part of the page content. 24 Simply build your itinerary in Minim and then use the **Minim by Tourwriter** shortcode to embed the itinerary on any post or page on your website. 31 25 32 26 == Links == 33 27 34 Here's a sample website that uses **Minim by Tourwriter** to display itineraries: [https://asgard.tourwriter.com](https://asgard.tourwriter.com/?ref=plugin) 28 Here's a sample website that uses **Minim by Tourwriter** to display itineraries: [https://asgard.tourwriter.com](https://asgard.tourwriter.com/?ref=plugin). 29 30 [Visit our help article](https://itinerarybuilder.tourwriter.com/help-articles/integrations/wordpress-plugin/?ref=plugin) for a more detailed overview of the plugin set up. 35 31 36 32 == Screenshots == 37 33 38 1. The plugin in action with the [Minim Website Builder](https://websitebuilder.tourwriter.com/?ref=plugin)34 1. The plugin in action with a generic Wordpress theme 39 35 40 36 == Frequently Asked Questions == … … 42 38 = What is Minim? = 43 39 44 [Minim](https://itinerarybuilder.tourwriter.com/?ref=plugin) is an online itinerary builder built by [Tourwriter](https://www.tourwriter.com/?ref=plugin) designed to help tour operators thrive by saving huge amounts of time in their daily business. 40 [Minim](https://itinerarybuilder.tourwriter.com/?ref=plugin) is an online itinerary builder built by the team at [Tourwriter](https://www.tourwriter.com/?ref=plugin). Complete with beautiful mobile optimised digital itineraries, automatic bookings functionality, complex pricing management, traveller collaboration and more. Minim is perfect for tour operators that want to take their business to the next level. 41 42 The **Minim by Tourwriter** plugin allows you to embed your Minim itineraries directly onto your WordPress website. 43 44 Not currently using Minim to build your itineraries? [Start a 21 day free trial now](https://minim.tourwriter.com/free-trial?ref=plugin). 45 45 46 46 = How do I show Minim itineraries on my website? = 47 47 48 See installation instructions in the section above.48 [Visit our help article](https://itinerarybuilder.tourwriter.com/help-articles/integrations/wordpress-plugin/?ref=plugin) for a more detailed overview of the plugin set up. 49 49 50 50 = Where do I find the ID of an itinerary in Minim? = … … 56 56 It should give you a verification message that the key you have entered is valid, or an error message if the key is not valid. 57 57 58 If you don't see any message at all it does not mean that the rest of the plugin's features are not working, so you can proceed with setup instructions in this case as long as you know your **Minim Classic Key** is correct.59 60 58 When you first enter your **Minim Classic Key**, clicking the **Check API Key** button only validates the key, but does not save it. You still need to click the **Save Settings** button before you can start using the plugin. 61 59 62 = Why doesn't the Itinerary ID field appear on the edit screen of my post?=60 == Installation == 63 61 64 * The **Minim by Tourwriter** tab containing the Itinerary ID field will appear on regular Wordpress posts and pages only. If you're using Custom Post Types it won't appear unless the name of the post type is Itinerary. 62 = An active Minim account is required to use this plugin = 65 63 66 * Check that you have saved your **Minim Classic Key** in **Settings->Minim by Tourwriter**.64 If you don't have a Minim account you can [start a 21 day free trial now](https://minim.tourwriter.com/free-trial/?ref=plugin). 67 65 68 * These fields may not appear if you're using a version of Wordpress older than what is required. 66 Once the plugin is installed and activated on your WordPress website go to **Settings->Minim by Tourwriter** and follow the instructions to add your **Minim Classic Key** which can be found on the profile page in Minim. 67 68 The **Minim by Tourwriter** plugin uses a shortcode which you can paste onto any page or post on your WordPress website. Simply copy from Minim the ID of the itinerary you want to display and paste it into the plugin shortcode to embed your itinerary on your website. [minim_itinerary id="MinimID"] 69 70 Once your changes are saved you should be able to visit the page and see your Minim Itinerary embedded in the place where you inserted the shortcode. 69 71 70 72 == Changelog == 73 74 = 2.0 = 75 *Release Date - 27 November 2020* 76 77 * New - Add ability to insert itinerary using shortcode instead of attaching it to the main content area via a custom field. 78 * Enhancement - Add basic layout styling for itinerary items 79 * Enhancement - Use heading tags for itinerary item titles to better adopt existing website styling. 80 * Enhancement - Add caching for data returned from the Minim API 81 * Fix - Prevent PHP errors and warnings when WP_DEBUG="true" 82 71 83 72 84 = 1.0.1 = 73 85 *Release Date - 15 May 2020* 74 86 75 * Enhance - Improve error reporting for API requests 76 * Fix - add missing /languages and .pot file 77 * Minor - Modify readme content 78 * WP - Tested up to 5.4.1 87 * Enhancement - Improve error reporting for API requests. 88 * Fix - Add missing /languages and .pot file. 89 * Minor - Modify readme content. 79 90 80 = 1.0 .0=91 = 1.0 = 81 92 *Release Date - 23 March 2020* 82 93 83 94 * Minim by Tourwriter 95 96 == Upgrade Notice == 97 98 = 2.0 = 99 This version changes the way itineraries are inserted on pages and posts by introducing the use of shortcodes rather than attaching an itinerary to the main content area via a custom field. It also greatly improves how itineraries are displayed by adopting the style of your website, providing a more seamless integration for the end user. Upgrade is highly recommended. [Visit our help article](https://itinerarybuilder.tourwriter.com/help-articles/integrations/wordpress-plugin/?ref=plugin) for more information. 100 101 = 1.0.1 = 102 This version contains minor updates and fixes.
Note: See TracChangeset
for help on using the changeset viewer.