Post Expirator - Version 2.7.8

Version Description

Download this release

Release Info

Developer andergmartins
Plugin Icon 128x128 Post Expirator
Version 2.7.8
Comparing to
See all releases

Code changes from version 2.7.7 to 2.7.8

assets/js/admin-edit.js CHANGED
@@ -114,7 +114,6 @@
114
  } else {
115
  $edit_row.find('.pe-category-list').hide();
116
  }
117
-
118
  }
119
  };
120
 
@@ -162,13 +161,15 @@
162
  $('.pe-qe-fields input[name="expirationdate_hour"]').on('blur', validateBulkFields);
163
  $('.pe-qe-fields input[name="expirationdate_minute"]').on('blur', validateBulkFields);
164
 
165
- $('#bulk_edit').on('click', function(e) {
166
- const isValid = validateBulkFields();
167
- console.log(isValid);
168
- if (! isValid) {
169
- e.preventDefault();
 
170
 
171
- return false;
172
- }
173
- });
 
174
  })(jQuery, postexpiratorConfig);
114
  } else {
115
  $edit_row.find('.pe-category-list').hide();
116
  }
 
117
  }
118
  };
119
 
161
  $('.pe-qe-fields input[name="expirationdate_hour"]').on('blur', validateBulkFields);
162
  $('.pe-qe-fields input[name="expirationdate_minute"]').on('blur', validateBulkFields);
163
 
164
+ if ($('.post-expirator-quickedit').length > 0) {
165
+ $('#bulk_edit').on('click', function(e) {
166
+ const isValid = validateBulkFields();
167
+ console.log(isValid);
168
+ if (! isValid) {
169
+ e.preventDefault();
170
 
171
+ return false;
172
+ }
173
+ });
174
+ }
175
  })(jQuery, postexpiratorConfig);
assets/js/gutenberg-panel.js CHANGED
@@ -1,2 +1,464 @@
1
- !function(e){var t={};function a(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(n,r,function(t){return e[t]}.bind(null,r));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=0)}([function(e,t,a){e.exports=a(1)},function(e,t,a){"use strict";var n,r,o,i,s,c,u,l,p,d,f,g,y,m,b,v,x,h,E,w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();function T(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function S(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}n=window.wp,r=window.postExpiratorPanelConfig,o=n.plugins.registerPlugin,i=n.editPost.PluginDocumentSettingPanel,s=n.components,c=s.PanelRow,u=s.DateTimePicker,l=s.CheckboxControl,p=s.SelectControl,d=s.FormTokenField,f=s.Spinner,g=n.element,y=g.Fragment,m=g.Component,b=n.htmlEntities.decodeEntities,v=lodash,x=v.isEmpty,h=v.keys,E=v.compact,o("postexpirator-sidebar",{render:function(e){function t(){T(this,t);var e=S(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={categoriesList:[],catIdVsName:[]},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),P(t,[{key:"componentWillMount",value:function(){var e=this,t=(this.state.attributes,n.data.select("core/editor").getEditedPostAttribute("meta")),a=n.data.select("core/editor").getCurrentPostType(),o=function(e){return n.data.dispatch("core/editor").editPost({meta:e})},i=!1,s=new Date,c=this.getExpireType(t),u=[];c.includes("category")&&(u=this.getCategories(t)),t["_expiration-date-status"]&&"saved"===t["_expiration-date-status"]&&(i=!0);var l=60*s.getTimezoneOffset(),p=60*r.timezone_offset;t["_expiration-date"]?s.setTime(1e3*(t["_expiration-date"]+l+p)):(u=r.default_categories,r.default_date&&s.setTime(1e3*(parseInt(r.default_date)+l+p)),i=!1);var d=r.defaults.taxonomy||"category";this.setState({enabled:i,date:s,expireAction:c,categories:u,taxonomy:d}),o({"_expiration-date-status":i?"saved":""}),o({"_expiration-date":s.getTime()/1e3}),o({"_expiration-date-type":c}),o({"_expiration-date-categories":u});var f=[],g=[];!d&&"post"===a||"category"===d?n.apiFetch({path:n.url.addQueryArgs("wp/v2/categories",{per_page:-1})}).then((function(t){t.forEach((function(e){f[e.name]=e,g[e.id]=e.name})),e.setState({categoriesList:f,catIdVsName:g,taxonomy:r.strings.category})})):"page"!==a&&n.apiFetch({path:n.url.addQueryArgs("wp/v2/taxonomies/"+d,{context:"edit"})}).then((function(t){n.apiFetch({path:n.url.addQueryArgs("wp/v2/"+t.rest_base,{context:"edit"})}).then((function(a){a.forEach((function(e){f[b(e.name)]=e,g[e.id]=b(e.name)})),e.setState({categoriesList:f,catIdVsName:g,taxonomy:b(t.name)})}))}))}},{key:"componentDidUpdate",value:function(){var e=this.state,t=e.enabled,a=e.date,r=e.expireAction,o=e.categories,i=e.attribute,s=function(e){return n.data.dispatch("core/editor").editPost({meta:e})},c=n.data.select("core/editor").getEditedPostAttribute("meta");switch(i){case"enabled":s({"_expiration-date-status":t?"saved":""}),c["_expiration-date"]||s({"_expiration-date":this.getDate(a)});break;case"date":"string"==typeof a&&s({"_expiration-date":this.getDate(a)});break;case"action":s({"_expiration-date-type":r}),r.includes("category")||s({"_expiration-date-categories":[]});break;case"category":s({"_expiration-date-categories":o})}}},{key:"render",value:function(){var e=this,t=this.state,a=t.categoriesList,o=t.catIdVsName,s=this.state,g=s.enabled,m=s.date,b=s.expireAction,v=s.categories,w=s.taxonomy,P=n.data.select("core/editor").getCurrentPostType(),T=[{label:r.strings.draft,value:"draft"},{label:r.strings.delete,value:"delete"},{label:r.strings.trash,value:"trash"},{label:r.strings.private,value:"private"},{label:r.strings.stick,value:"stick"},{label:r.strings.unstick,value:"unstick"}];"page"!==P&&(T=_.union(T,[{label:r.strings.categoryReplace,value:"category"},{label:r.strings.categoryAdd,value:"category-add"},{label:r.strings.categoryRemove,value:"category-remove"}]));var S=v&&E(v.map((function(e){return o[e]||!1})));return"string"==typeof S&&(S=[]),React.createElement(i,{title:r.strings.postExpirator,icon:"calendar",initialOpen:g,className:"post-expirator-panel"},React.createElement(c,null,React.createElement(l,{label:r.strings.enablePostExpiration,checked:g,onChange:function(t){e.setState({enabled:!g,attribute:"enabled"})}})),g&&React.createElement(y,null,React.createElement(c,null,React.createElement(u,{currentDate:m,onChange:function(t){return e.setState({date:t,attribute:"date"})},is_12_hours:r.is_12_hours})),React.createElement(p,{label:r.strings.howToExpire,value:b,options:T,onChange:function(t){e.setState({expireAction:t,attribute:"action"})}}),b.includes("category")&&(x(h(a))&&React.createElement(y,null,r.strings.loading+" ("+w+")",React.createElement(f,null))||React.createElement(d,{label:r.strings.expirationCategories+" ("+w+")",value:S,suggestions:Object.keys(a),onChange:function(t){e.setState({categories:e.selectCategories(t),attribute:"category"})},maxSuggestions:10}))))}},{key:"getExpireType",value:function(e){var t=e["_expiration-date-type"],a=e["_expiration-date-options"]&&e["_expiration-date-options"].expireType;return t||a||(r&&r.defaults&&r.defaults.expireType?r.defaults.expireType:"draft")}},{key:"getCategories",value:function(e){var t=e["_expiration-date-categories"]&&e["_expiration-date-categories"],a=e["_expiration-date-options"]&&e["_expiration-date-options"].category;return"object"===(void 0===t?"undefined":w(t))&&t.length>0?t:(a&&void 0!==a&&"object"!==(void 0===a?"undefined":w(a))&&(categories=[a]),a)}},{key:"selectCategories",value:function(e){var t=this.state,a=t.categoriesList;if(t.catIdVsName,!e.some((function(e){return"string"==typeof e&&!a[e]})))return e.map((function(e){return"string"==typeof e?a[e]:e})).map((function(e){return e.id}))}},{key:"getDate",value:function(e){var t=new Date,a=60*(new Date).getTimezoneOffset(),n=60*r.timezone_offset;return t.setTime(Date.parse(e)),t.setTime(t.getTime()-1e3*(a+n)),t.getTime()/1e3}}]),t}(m)})}]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  //# sourceMappingURL=gutenberg-panel.js.map
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = 0);
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./assets/jsx/gutenberg-panel.jsx":
90
+ /*!****************************************!*\
91
+ !*** ./assets/jsx/gutenberg-panel.jsx ***!
92
+ \****************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports, __webpack_require__) {
95
+
96
+ "use strict";
97
+
98
+
99
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
100
+
101
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
102
+
103
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
104
+
105
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
106
+
107
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
108
+
109
+ (function (wp, config) {
110
+ var registerPlugin = wp.plugins.registerPlugin;
111
+ var PluginDocumentSettingPanel = wp.editPost.PluginDocumentSettingPanel;
112
+ var _wp$components = wp.components,
113
+ PanelRow = _wp$components.PanelRow,
114
+ DateTimePicker = _wp$components.DateTimePicker,
115
+ CheckboxControl = _wp$components.CheckboxControl,
116
+ SelectControl = _wp$components.SelectControl,
117
+ FormTokenField = _wp$components.FormTokenField,
118
+ Spinner = _wp$components.Spinner;
119
+ var _wp$element = wp.element,
120
+ Fragment = _wp$element.Fragment,
121
+ Component = _wp$element.Component;
122
+ var decodeEntities = wp.htmlEntities.decodeEntities;
123
+ var _lodash = lodash,
124
+ isEmpty = _lodash.isEmpty,
125
+ keys = _lodash.keys,
126
+ compact = _lodash.compact;
127
+
128
+ var PostExpiratorSidebar = function (_Component) {
129
+ _inherits(PostExpiratorSidebar, _Component);
130
+
131
+ function PostExpiratorSidebar() {
132
+ _classCallCheck(this, PostExpiratorSidebar);
133
+
134
+ var _this = _possibleConstructorReturn(this, (PostExpiratorSidebar.__proto__ || Object.getPrototypeOf(PostExpiratorSidebar)).apply(this, arguments));
135
+
136
+ _this.state = {
137
+ categoriesList: [],
138
+ catIdVsName: []
139
+ };
140
+ return _this;
141
+ }
142
+
143
+ _createClass(PostExpiratorSidebar, [{
144
+ key: 'componentWillMount',
145
+ value: function componentWillMount() {
146
+ var _this2 = this;
147
+
148
+ var attributes = this.state.attributes;
149
+
150
+
151
+ var postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');
152
+ var postType = wp.data.select('core/editor').getCurrentPostType();
153
+ var setPostMeta = function setPostMeta(newMeta) {
154
+ return wp.data.dispatch('core/editor').editPost({ meta: newMeta });
155
+ };
156
+
157
+ var enabled = false;
158
+ var date = new Date();
159
+
160
+ var expireAction = this.getExpireType(postMeta);
161
+
162
+ var categories = [];
163
+ if (expireAction.includes('category')) {
164
+ categories = this.getCategories(postMeta);
165
+ }
166
+
167
+ if (postMeta['_expiration-date-status'] && postMeta['_expiration-date-status'] === 'saved') {
168
+ enabled = true;
169
+ }
170
+
171
+ var browserTimezoneOffset = date.getTimezoneOffset() * 60;
172
+ var wpTimezoneOffset = config.timezone_offset * 60;
173
+
174
+ if (postMeta['_expiration-date']) {
175
+ date.setTime((postMeta['_expiration-date'] + browserTimezoneOffset + wpTimezoneOffset) * 1000);
176
+ } else {
177
+ categories = config.default_categories;
178
+ if (config.default_date) {
179
+ date.setTime((parseInt(config.default_date) + browserTimezoneOffset + wpTimezoneOffset) * 1000);
180
+ }
181
+
182
+ // If the date is not set
183
+ enabled = false;
184
+ }
185
+
186
+ var taxonomy = config.defaults.taxonomy || 'category';
187
+
188
+ this.setState({
189
+ enabled: enabled,
190
+ date: date,
191
+ expireAction: expireAction,
192
+ categories: categories,
193
+ taxonomy: taxonomy
194
+ });
195
+
196
+ // Force all the metadata to be saved. Required for making sure the default settings are stored correctly.
197
+ setPostMeta({ '_expiration-date-status': enabled ? 'saved' : '' });
198
+ setPostMeta({ '_expiration-date': date.getTime() / 1000 });
199
+ setPostMeta({ '_expiration-date-type': expireAction });
200
+ setPostMeta({ '_expiration-date-categories': categories });
201
+
202
+ var categoriesList = [];
203
+ var catIdVsName = [];
204
+
205
+ if (!taxonomy && postType === 'post' || taxonomy === 'category') {
206
+ wp.apiFetch({
207
+ path: wp.url.addQueryArgs('wp/v2/categories', { per_page: -1 })
208
+ }).then(function (list) {
209
+ list.forEach(function (cat) {
210
+ categoriesList[cat.name] = cat;
211
+ catIdVsName[cat.id] = cat.name;
212
+ });
213
+ _this2.setState({ categoriesList: categoriesList, catIdVsName: catIdVsName, taxonomy: config.strings.category });
214
+ });
215
+ } else {
216
+ wp.apiFetch({
217
+ path: wp.url.addQueryArgs('wp/v2/taxonomies/' + taxonomy, { context: 'edit' })
218
+ }).then(function (taxAttributes) {
219
+ // fetch all terms
220
+ wp.apiFetch({
221
+ path: wp.url.addQueryArgs('wp/v2/' + taxAttributes.rest_base, { context: 'edit' })
222
+ }).then(function (terms) {
223
+ terms.forEach(function (term) {
224
+ categoriesList[decodeEntities(term.name)] = term;
225
+ catIdVsName[term.id] = decodeEntities(term.name);
226
+ });
227
+ _this2.setState({
228
+ categoriesList: categoriesList,
229
+ catIdVsName: catIdVsName,
230
+ taxonomy: decodeEntities(taxAttributes.name)
231
+ });
232
+ });
233
+ });
234
+ }
235
+ }
236
+ }, {
237
+ key: 'componentDidUpdate',
238
+ value: function componentDidUpdate() {
239
+ var _state = this.state,
240
+ enabled = _state.enabled,
241
+ date = _state.date,
242
+ expireAction = _state.expireAction,
243
+ categories = _state.categories,
244
+ attribute = _state.attribute;
245
+
246
+ var setPostMeta = function setPostMeta(newMeta) {
247
+ return wp.data.dispatch('core/editor').editPost({ meta: newMeta });
248
+ };
249
+ var postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');
250
+
251
+ switch (attribute) {
252
+ case 'enabled':
253
+ setPostMeta({ '_expiration-date-status': enabled ? 'saved' : '' });
254
+ // if date is not set when the checkbox is enabled, set it to the default date
255
+ // this is to prevent the user from having to click the date to set it
256
+ if (!postMeta['_expiration-date']) {
257
+ setPostMeta({ '_expiration-date': this.getDate(date) });
258
+ }
259
+ break;
260
+ case 'date':
261
+ if (typeof date === 'string') {
262
+ setPostMeta({ '_expiration-date': this.getDate(date) });
263
+ }
264
+ break;
265
+ case 'action':
266
+ setPostMeta({ '_expiration-date-type': expireAction });
267
+ if (!expireAction.includes('category')) {
268
+ setPostMeta({ '_expiration-date-categories': [] });
269
+ }
270
+ break;
271
+ case 'category':
272
+ setPostMeta({ '_expiration-date-categories': categories });
273
+ break;
274
+ }
275
+ }
276
+ }, {
277
+ key: 'render',
278
+ value: function render() {
279
+ var _this3 = this;
280
+
281
+ var _state2 = this.state,
282
+ categoriesList = _state2.categoriesList,
283
+ catIdVsName = _state2.catIdVsName;
284
+ var _state3 = this.state,
285
+ enabled = _state3.enabled,
286
+ date = _state3.date,
287
+ expireAction = _state3.expireAction,
288
+ categories = _state3.categories,
289
+ taxonomy = _state3.taxonomy;
290
+
291
+
292
+ var postType = wp.data.select('core/editor').getCurrentPostType();
293
+
294
+ var actionsList = [{ label: config.strings.draft, value: 'draft' }, { label: config.strings.delete, value: 'delete' }, { label: config.strings.trash, value: 'trash' }, { label: config.strings.private, value: 'private' }, { label: config.strings.stick, value: 'stick' }, { label: config.strings.unstick, value: 'unstick' }, { label: config.strings.categoryReplace, value: 'category' }, { label: config.strings.categoryAdd, value: 'category-add' }, { label: config.strings.categoryRemove, value: 'category-remove' }];
295
+
296
+ var selectedCats = categories && compact(categories.map(function (id) {
297
+ return catIdVsName[id] || false;
298
+ }));
299
+ if (typeof selectedCats === 'string') {
300
+ selectedCats = [];
301
+ }
302
+
303
+ return React.createElement(
304
+ PluginDocumentSettingPanel,
305
+ { title: config.strings.postExpirator, icon: 'calendar',
306
+ initialOpen: enabled, className: 'post-expirator-panel' },
307
+ React.createElement(
308
+ PanelRow,
309
+ null,
310
+ React.createElement(CheckboxControl, {
311
+ label: config.strings.enablePostExpiration,
312
+ checked: enabled,
313
+ onChange: function onChange(value) {
314
+ _this3.setState({ enabled: !enabled, attribute: 'enabled' });
315
+ }
316
+ })
317
+ ),
318
+ enabled && React.createElement(
319
+ Fragment,
320
+ null,
321
+ React.createElement(
322
+ PanelRow,
323
+ null,
324
+ React.createElement(DateTimePicker, {
325
+ currentDate: date,
326
+ onChange: function onChange(value) {
327
+ return _this3.setState({ date: value, attribute: 'date' });
328
+ },
329
+ is12Hour: config.is_12_hours
330
+ })
331
+ ),
332
+ React.createElement(SelectControl, {
333
+ label: config.strings.howToExpire,
334
+ value: expireAction,
335
+ options: actionsList,
336
+ onChange: function onChange(value) {
337
+ _this3.setState({ expireAction: value, attribute: 'action' });
338
+ }
339
+ }),
340
+ expireAction.includes('category') && (isEmpty(keys(categoriesList)) && React.createElement(
341
+ Fragment,
342
+ null,
343
+ config.strings.loading + (' (' + taxonomy + ')'),
344
+ React.createElement(Spinner, null)
345
+ ) || React.createElement(FormTokenField, {
346
+ label: config.strings.expirationCategories + (' (' + taxonomy + ')'),
347
+ value: selectedCats,
348
+ suggestions: Object.keys(categoriesList),
349
+ onChange: function onChange(value) {
350
+ _this3.setState({
351
+ categories: _this3.selectCategories(value),
352
+ attribute: 'category'
353
+ });
354
+ },
355
+ maxSuggestions: 10
356
+ }))
357
+ )
358
+ );
359
+ }
360
+
361
+ // what action to take on expiration
362
+
363
+ }, {
364
+ key: 'getExpireType',
365
+ value: function getExpireType(postMeta) {
366
+ var typeNew = postMeta['_expiration-date-type'];
367
+ var typeOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['expireType'];
368
+
369
+ if (typeNew) {
370
+ return typeNew;
371
+ }
372
+
373
+ if (typeOld) {
374
+ return typeOld;
375
+ }
376
+
377
+ if (config && config.defaults && config.defaults.expireType) {
378
+ return config.defaults.expireType;
379
+ }
380
+
381
+ return 'draft';
382
+ }
383
+
384
+ // what categories to add/remove/replace
385
+
386
+ }, {
387
+ key: 'getCategories',
388
+ value: function getCategories(postMeta) {
389
+ var categoriesNew = postMeta['_expiration-date-categories'] && postMeta['_expiration-date-categories'];
390
+ var categoriesOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['category'];
391
+
392
+ if ((typeof categoriesNew === 'undefined' ? 'undefined' : _typeof(categoriesNew)) === 'object' && categoriesNew.length > 0) {
393
+ return categoriesNew;
394
+ }
395
+
396
+ if (categoriesOld && typeof categoriesOld !== 'undefined' && (typeof categoriesOld === 'undefined' ? 'undefined' : _typeof(categoriesOld)) !== 'object') {
397
+ categories = [categoriesOld];
398
+ }
399
+
400
+ return categoriesOld;
401
+ }
402
+
403
+ // fired for the autocomplete
404
+
405
+ }, {
406
+ key: 'selectCategories',
407
+ value: function selectCategories(tokens) {
408
+ var _state4 = this.state,
409
+ categoriesList = _state4.categoriesList,
410
+ catIdVsName = _state4.catIdVsName;
411
+
412
+
413
+ var hasNoSuggestion = tokens.some(function (token) {
414
+ return typeof token === 'string' && !categoriesList[token];
415
+ });
416
+
417
+ if (hasNoSuggestion) {
418
+ return;
419
+ }
420
+
421
+ var categories = tokens.map(function (token) {
422
+ return typeof token === 'string' ? categoriesList[token] : token;
423
+ });
424
+
425
+ return categories.map(function (cat) {
426
+ return cat.id;
427
+ });
428
+ }
429
+ }, {
430
+ key: 'getDate',
431
+ value: function getDate(date) {
432
+ var newDate = new Date();
433
+ var browserTimezoneOffset = new Date().getTimezoneOffset() * 60;
434
+ var wpTimezoneOffset = config.timezone_offset * 60;
435
+ newDate.setTime(Date.parse(date));
436
+ newDate.setTime(newDate.getTime() - (browserTimezoneOffset + wpTimezoneOffset) * 1000);
437
+ return newDate.getTime() / 1000;
438
+ }
439
+ }]);
440
+
441
+ return PostExpiratorSidebar;
442
+ }(Component);
443
+
444
+ registerPlugin('postexpirator-sidebar', {
445
+ render: PostExpiratorSidebar
446
+ });
447
+ })(window.wp, window.postExpiratorPanelConfig);
448
+
449
+ /***/ }),
450
+
451
+ /***/ 0:
452
+ /*!**********************************************!*\
453
+ !*** multi ./assets/jsx/gutenberg-panel.jsx ***!
454
+ \**********************************************/
455
+ /*! no static exports found */
456
+ /***/ (function(module, exports, __webpack_require__) {
457
+
458
+ module.exports = __webpack_require__(/*! ./assets/jsx/gutenberg-panel.jsx */"./assets/jsx/gutenberg-panel.jsx");
459
+
460
+
461
+ /***/ })
462
+
463
+ /******/ });
464
  //# sourceMappingURL=gutenberg-panel.js.map
assets/js/gutenberg-panel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/jsx/gutenberg-panel.jsx"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","wp","config","registerPlugin","PluginDocumentSettingPanel","PanelRow","DateTimePicker","CheckboxControl","SelectControl","FormTokenField","Spinner","Fragment","Component","decodeEntities","isEmpty","keys","compact","window","postExpiratorPanelConfig","plugins","editPost","components","element","htmlEntities","lodash","render","arguments","state","categoriesList","catIdVsName","postMeta","this","attributes","data","select","getEditedPostAttribute","postType","getCurrentPostType","setPostMeta","newMeta","dispatch","meta","enabled","date","Date","expireAction","getExpireType","categories","includes","getCategories","browserTimezoneOffset","getTimezoneOffset","wpTimezoneOffset","timezone_offset","setTime","default_categories","default_date","parseInt","taxonomy","defaults","setState","getTime","apiFetch","path","url","addQueryArgs","per_page","then","list","forEach","cat","id","strings","category","context","taxAttributes","rest_base","terms","term","attribute","getDate","actionsList","label","draft","delete","trash","private","stick","unstick","_","union","categoryReplace","categoryAdd","categoryRemove","selectedCats","map","title","postExpirator","icon","initialOpen","className","enablePostExpiration","checked","onChange","currentDate","is_12_hours","howToExpire","options","loading","expirationCategories","suggestions","selectCategories","maxSuggestions","typeNew","typeOld","expireType","categoriesNew","categoriesOld","length","tokens","some","token","newDate","parse"],"mappings":"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","file":"gutenberg-panel.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","(function (wp, config) {\n\n const {registerPlugin} = wp.plugins;\n const {PluginDocumentSettingPanel} = wp.editPost;\n const {PanelRow, DateTimePicker, CheckboxControl, SelectControl, FormTokenField, Spinner} = wp.components;\n const {Fragment, Component} = wp.element;\n const {decodeEntities} = wp.htmlEntities;\n const {isEmpty, keys, compact} = lodash;\n\n class PostExpiratorSidebar extends Component {\n constructor() {\n super(...arguments);\n\n this.state = {\n categoriesList: [],\n catIdVsName: [],\n }\n }\n\n componentWillMount() {\n const {attributes} = this.state;\n\n const postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');\n const postType = wp.data.select('core/editor').getCurrentPostType();\n const setPostMeta = (newMeta) => wp.data.dispatch('core/editor').editPost({meta: newMeta});\n\n let enabled = false;\n let date = new Date();\n\n let expireAction = this.getExpireType(postMeta);\n\n let categories = [];\n if (expireAction.includes('category')) {\n categories = this.getCategories(postMeta);\n }\n\n if (postMeta['_expiration-date-status'] && postMeta['_expiration-date-status'] === 'saved') {\n enabled = true;\n }\n\n let browserTimezoneOffset = date.getTimezoneOffset() * 60;\n let wpTimezoneOffset = config.timezone_offset * 60;\n\n if (postMeta['_expiration-date']) {\n date.setTime((postMeta['_expiration-date'] + browserTimezoneOffset + wpTimezoneOffset) * 1000);\n } else {\n categories = config.default_categories;\n if (config.default_date) {\n date.setTime((parseInt(config.default_date) + browserTimezoneOffset + wpTimezoneOffset) * 1000);\n }\n\n // If the date is not set\n enabled = false;\n }\n\n let taxonomy = config.defaults.taxonomy || 'category';\n\n this.setState({\n enabled: enabled,\n date: date,\n expireAction: expireAction,\n categories: categories,\n taxonomy: taxonomy,\n });\n\n // Force all the metadata to be saved. Required for making sure the default settings are stored correctly.\n setPostMeta({'_expiration-date-status': (enabled ? 'saved' : '')});\n setPostMeta({'_expiration-date': (date.getTime()) / 1000});\n setPostMeta({'_expiration-date-type': expireAction});\n setPostMeta({'_expiration-date-categories': categories});\n\n let categoriesList = [];\n let catIdVsName = [];\n\n if ((!taxonomy && postType === 'post') || taxonomy === 'category') {\n wp.apiFetch({\n path: wp.url.addQueryArgs('wp/v2/categories', {per_page: -1}),\n }).then((list) => {\n list.forEach(cat => {\n categoriesList[cat.name] = cat;\n catIdVsName[cat.id] = cat.name;\n });\n this.setState({categoriesList: categoriesList, catIdVsName: catIdVsName, taxonomy: config.strings.category});\n });\n } else if (postType !== 'page') {\n wp.apiFetch({\n path: wp.url.addQueryArgs(`wp/v2/taxonomies/${taxonomy}`, {context: 'edit'}),\n }).then((taxAttributes) => {\n // fetch all terms\n wp.apiFetch({\n path: wp.url.addQueryArgs(`wp/v2/${taxAttributes.rest_base}`, {context: 'edit'}),\n }).then((terms) => {\n terms.forEach(term => {\n categoriesList[decodeEntities(term.name)] = term;\n catIdVsName[term.id] = decodeEntities(term.name);\n });\n this.setState({\n categoriesList: categoriesList,\n catIdVsName: catIdVsName,\n taxonomy: decodeEntities(taxAttributes.name)\n });\n });\n });\n }\n\n }\n\n componentDidUpdate() {\n const {enabled, date, expireAction, categories, attribute} = this.state;\n const setPostMeta = (newMeta) => wp.data.dispatch('core/editor').editPost({meta: newMeta});\n const postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');\n\n switch (attribute) {\n case 'enabled':\n setPostMeta({'_expiration-date-status': (enabled ? 'saved' : '')});\n // if date is not set when the checkbox is enabled, set it to the default date\n // this is to prevent the user from having to click the date to set it\n if (!postMeta['_expiration-date']) {\n setPostMeta({'_expiration-date': this.getDate(date)});\n }\n break;\n case 'date':\n if (typeof date === 'string') {\n setPostMeta({'_expiration-date': this.getDate(date)});\n }\n break;\n case 'action':\n setPostMeta({'_expiration-date-type': expireAction});\n if (!expireAction.includes('category')) {\n setPostMeta({'_expiration-date-categories': []});\n }\n break;\n case 'category':\n setPostMeta({'_expiration-date-categories': categories});\n break;\n }\n\n }\n\n render() {\n const {categoriesList, catIdVsName} = this.state;\n const {enabled, date, expireAction, categories, taxonomy} = this.state;\n\n const postType = wp.data.select('core/editor').getCurrentPostType();\n\n let actionsList = [\n {label: config.strings.draft, value: 'draft'},\n {label: config.strings.delete, value: 'delete'},\n {label: config.strings.trash, value: 'trash'},\n {label: config.strings.private, value: 'private'},\n {label: config.strings.stick, value: 'stick'},\n {label: config.strings.unstick, value: 'unstick'},\n ];\n\n if (postType !== 'page') {\n actionsList = _.union(actionsList, [\n {label: config.strings.categoryReplace, value: 'category'},\n {label: config.strings.categoryAdd, value: 'category-add'},\n {label: config.strings.categoryRemove, value: 'category-remove'},\n ]);\n }\n\n let selectedCats = categories && compact(categories.map((id) => catIdVsName[id] || false));\n if (typeof selectedCats === 'string') {\n selectedCats = [];\n }\n\n return (\n <PluginDocumentSettingPanel title={config.strings.postExpirator} icon=\"calendar\"\n initialOpen={enabled} className={'post-expirator-panel'}>\n <PanelRow>\n <CheckboxControl\n label={config.strings.enablePostExpiration}\n checked={enabled}\n onChange={(value) => {\n this.setState({enabled: !enabled, attribute: 'enabled'})\n }}\n />\n </PanelRow>\n {enabled && (\n <Fragment>\n <PanelRow>\n <DateTimePicker\n currentDate={date}\n onChange={(value) => this.setState({date: value, attribute: 'date'})}\n is_12_hours={config.is_12_hours}\n />\n </PanelRow>\n <SelectControl\n label={config.strings.howToExpire}\n value={expireAction}\n options={actionsList}\n onChange={(value) => {\n this.setState({expireAction: value, attribute: 'action'})\n }}\n />\n {expireAction.includes('category') &&\n (\n (isEmpty(keys(categoriesList)) && (\n <Fragment>\n {config.strings.loading + ` (${taxonomy})`}\n <Spinner/>\n </Fragment>\n ))\n ||\n (\n <FormTokenField\n label={config.strings.expirationCategories + ` (${taxonomy})`}\n value={selectedCats}\n suggestions={Object.keys(categoriesList)}\n onChange={(value) => {\n this.setState({\n categories: this.selectCategories(value),\n attribute: 'category'\n })\n }}\n maxSuggestions={10}\n />\n )\n )}\n </Fragment>\n )}\n </PluginDocumentSettingPanel>\n );\n }\n\n // what action to take on expiration\n getExpireType(postMeta) {\n let typeNew = postMeta['_expiration-date-type'];\n let typeOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['expireType'];\n\n\n\n if (typeNew) {\n return typeNew;\n }\n\n if (typeOld) {\n return typeOld;\n }\n\n if (config && config.defaults && config.defaults.expireType) {\n return config.defaults.expireType;\n }\n\n return 'draft';\n }\n\n // what categories to add/remove/replace\n getCategories(postMeta) {\n let categoriesNew = postMeta['_expiration-date-categories'] && postMeta['_expiration-date-categories'];\n let categoriesOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['category'];\n\n if (typeof categoriesNew === 'object' && categoriesNew.length > 0) {\n return categoriesNew;\n }\n\n if (categoriesOld && typeof categoriesOld !== 'undefined' && typeof categoriesOld !== 'object') {\n categories = [categoriesOld];\n }\n\n return categoriesOld;\n\n }\n\n // fired for the autocomplete\n selectCategories(tokens) {\n const {categoriesList, catIdVsName} = this.state;\n\n var hasNoSuggestion = tokens.some(function (token) {\n return typeof token === 'string' && !categoriesList[token];\n });\n\n if (hasNoSuggestion) {\n return;\n }\n\n var categories = tokens.map(function (token) {\n return typeof token === 'string' ? categoriesList[token] : token;\n })\n\n return categories.map((cat) => cat.id);\n }\n\n getDate(date) {\n let newDate = new Date();\n let browserTimezoneOffset = new Date().getTimezoneOffset() * 60;\n let wpTimezoneOffset = config.timezone_offset * 60;\n newDate.setTime(Date.parse(date));\n newDate.setTime(newDate.getTime() - (browserTimezoneOffset + wpTimezoneOffset) * 1000);\n return ((newDate.getTime()) / 1000);\n }\n\n }\n\n registerPlugin('postexpirator-sidebar', {\n render: PostExpiratorSidebar\n });\n\n\n})(window.wp, window.postExpiratorPanelConfig);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/jsx/gutenberg-panel.jsx"],"names":["wp","config","registerPlugin","plugins","PluginDocumentSettingPanel","editPost","components","PanelRow","DateTimePicker","CheckboxControl","SelectControl","FormTokenField","Spinner","element","Fragment","Component","decodeEntities","htmlEntities","lodash","isEmpty","keys","compact","PostExpiratorSidebar","arguments","state","categoriesList","catIdVsName","attributes","postMeta","data","select","getEditedPostAttribute","postType","getCurrentPostType","setPostMeta","newMeta","dispatch","meta","enabled","date","Date","expireAction","getExpireType","categories","includes","getCategories","browserTimezoneOffset","getTimezoneOffset","wpTimezoneOffset","timezone_offset","setTime","default_categories","default_date","parseInt","taxonomy","defaults","setState","getTime","apiFetch","path","url","addQueryArgs","per_page","then","list","forEach","cat","name","id","strings","category","context","taxAttributes","rest_base","terms","term","attribute","getDate","actionsList","label","draft","value","delete","trash","private","stick","unstick","categoryReplace","categoryAdd","categoryRemove","selectedCats","map","postExpirator","enablePostExpiration","is_12_hours","howToExpire","loading","expirationCategories","Object","selectCategories","typeNew","typeOld","expireType","categoriesNew","categoriesOld","length","tokens","hasNoSuggestion","some","token","newDate","parse","render","window","postExpiratorPanelConfig"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;;;AClFA,CAAC,UAAUA,EAAV,EAAcC,MAAd,EAAsB;AAAA,QAEZC,cAFY,GAEMF,GAAGG,OAFT,CAEZD,cAFY;AAAA,QAGZE,0BAHY,GAGkBJ,GAAGK,QAHrB,CAGZD,0BAHY;AAAA,yBAIyEJ,GAAGM,UAJ5E;AAAA,QAIZC,QAJY,kBAIZA,QAJY;AAAA,QAIFC,cAJE,kBAIFA,cAJE;AAAA,QAIcC,eAJd,kBAIcA,eAJd;AAAA,QAI+BC,aAJ/B,kBAI+BA,aAJ/B;AAAA,QAI8CC,cAJ9C,kBAI8CA,cAJ9C;AAAA,QAI8DC,OAJ9D,kBAI8DA,OAJ9D;AAAA,sBAKWZ,GAAGa,OALd;AAAA,QAKZC,QALY,eAKZA,QALY;AAAA,QAKFC,SALE,eAKFA,SALE;AAAA,QAMZC,cANY,GAMMhB,GAAGiB,YANT,CAMZD,cANY;AAAA,kBAOcE,MAPd;AAAA,QAOZC,OAPY,WAOZA,OAPY;AAAA,QAOHC,IAPG,WAOHA,IAPG;AAAA,QAOGC,OAPH,WAOGA,OAPH;;AAAA,QASbC,oBATa;AAAA;;AAUf,wCAAc;AAAA;;AAAA,qJACDC,SADC;;AAGV,kBAAKC,KAAL,GAAa;AACTC,gCAAgB,EADP;AAETC,6BAAa;AAFJ,aAAb;AAHU;AAOb;;AAjBc;AAAA;AAAA,iDAmBM;AAAA;;AAAA,oBACVC,UADU,GACI,KAAKH,KADT,CACVG,UADU;;;AAGjB,oBAAMC,WAAW5B,GAAG6B,IAAH,CAAQC,MAAR,CAAe,aAAf,EAA8BC,sBAA9B,CAAqD,MAArD,CAAjB;AACA,oBAAMC,WAAWhC,GAAG6B,IAAH,CAAQC,MAAR,CAAe,aAAf,EAA8BG,kBAA9B,EAAjB;AACA,oBAAMC,cAAc,SAAdA,WAAc,CAACC,OAAD;AAAA,2BAAanC,GAAG6B,IAAH,CAAQO,QAAR,CAAiB,aAAjB,EAAgC/B,QAAhC,CAAyC,EAACgC,MAAMF,OAAP,EAAzC,CAAb;AAAA,iBAApB;;AAEA,oBAAIG,UAAU,KAAd;AACA,oBAAIC,OAAO,IAAIC,IAAJ,EAAX;;AAEA,oBAAIC,eAAe,KAAKC,aAAL,CAAmBd,QAAnB,CAAnB;;AAEA,oBAAIe,aAAa,EAAjB;AACA,oBAAIF,aAAaG,QAAb,CAAsB,UAAtB,CAAJ,EAAuC;AACnCD,iCAAa,KAAKE,aAAL,CAAmBjB,QAAnB,CAAb;AACH;;AAED,oBAAIA,SAAS,yBAAT,KAAuCA,SAAS,yBAAT,MAAwC,OAAnF,EAA4F;AACxFU,8BAAU,IAAV;AACH;;AAED,oBAAIQ,wBAAwBP,KAAKQ,iBAAL,KAA2B,EAAvD;AACA,oBAAIC,mBAAmB/C,OAAOgD,eAAP,GAAyB,EAAhD;;AAEA,oBAAIrB,SAAS,kBAAT,CAAJ,EAAkC;AAC9BW,yBAAKW,OAAL,CAAa,CAACtB,SAAS,kBAAT,IAA+BkB,qBAA/B,GAAuDE,gBAAxD,IAA4E,IAAzF;AACH,iBAFD,MAEO;AACHL,iCAAa1C,OAAOkD,kBAApB;AACA,wBAAIlD,OAAOmD,YAAX,EAAyB;AACrBb,6BAAKW,OAAL,CAAa,CAACG,SAASpD,OAAOmD,YAAhB,IAAgCN,qBAAhC,GAAwDE,gBAAzD,IAA6E,IAA1F;AACH;;AAED;AACAV,8BAAU,KAAV;AACH;;AAED,oBAAIgB,WAAWrD,OAAOsD,QAAP,CAAgBD,QAAhB,IAA4B,UAA3C;;AAEA,qBAAKE,QAAL,CAAc;AACVlB,6BAASA,OADC;AAEVC,0BAAMA,IAFI;AAGVE,kCAAcA,YAHJ;AAIVE,gCAAYA,UAJF;AAKVW,8BAAUA;AALA,iBAAd;;AAQA;AACApB,4BAAY,EAAC,2BAA4BI,UAAU,OAAV,GAAoB,EAAjD,EAAZ;AACAJ,4BAAY,EAAC,oBAAqBK,KAAKkB,OAAL,EAAD,GAAmB,IAAxC,EAAZ;AACAvB,4BAAY,EAAC,yBAAyBO,YAA1B,EAAZ;AACAP,4BAAY,EAAC,+BAA+BS,UAAhC,EAAZ;;AAEA,oBAAIlB,iBAAiB,EAArB;AACA,oBAAIC,cAAc,EAAlB;;AAEA,oBAAK,CAAC4B,QAAD,IAAatB,aAAa,MAA3B,IAAsCsB,aAAa,UAAvD,EAAmE;AAC/DtD,uBAAG0D,QAAH,CAAY;AACRC,8BAAM3D,GAAG4D,GAAH,CAAOC,YAAP,CAAoB,kBAApB,EAAwC,EAACC,UAAU,CAAC,CAAZ,EAAxC;AADE,qBAAZ,EAEGC,IAFH,CAEQ,UAACC,IAAD,EAAU;AACdA,6BAAKC,OAAL,CAAa,eAAO;AAChBxC,2CAAeyC,IAAIC,IAAnB,IAA2BD,GAA3B;AACAxC,wCAAYwC,IAAIE,EAAhB,IAAsBF,IAAIC,IAA1B;AACH,yBAHD;AAIA,+BAAKX,QAAL,CAAc,EAAC/B,gBAAgBA,cAAjB,EAAiCC,aAAaA,WAA9C,EAA2D4B,UAAUrD,OAAOoE,OAAP,CAAeC,QAApF,EAAd;AACH,qBARD;AASH,iBAVD,MAUO;AACHtE,uBAAG0D,QAAH,CAAY;AACRC,8BAAM3D,GAAG4D,GAAH,CAAOC,YAAP,uBAAwCP,QAAxC,EAAoD,EAACiB,SAAS,MAAV,EAApD;AADE,qBAAZ,EAEGR,IAFH,CAEQ,UAACS,aAAD,EAAmB;AACvB;AACAxE,2BAAG0D,QAAH,CAAY;AACRC,kCAAM3D,GAAG4D,GAAH,CAAOC,YAAP,YAA6BW,cAAcC,SAA3C,EAAwD,EAACF,SAAS,MAAV,EAAxD;AADE,yBAAZ,EAEGR,IAFH,CAEQ,UAACW,KAAD,EAAW;AACfA,kCAAMT,OAAN,CAAc,gBAAQ;AAClBxC,+CAAeT,eAAe2D,KAAKR,IAApB,CAAf,IAA4CQ,IAA5C;AACAjD,4CAAYiD,KAAKP,EAAjB,IAAuBpD,eAAe2D,KAAKR,IAApB,CAAvB;AACH,6BAHD;AAIA,mCAAKX,QAAL,CAAc;AACV/B,gDAAgBA,cADN;AAEVC,6CAAaA,WAFH;AAGV4B,0CAAUtC,eAAewD,cAAcL,IAA7B;AAHA,6BAAd;AAKH,yBAZD;AAaH,qBAjBD;AAkBH;AAEJ;AAzGc;AAAA;AAAA,iDA2GM;AAAA,6BAC4C,KAAK3C,KADjD;AAAA,oBACVc,OADU,UACVA,OADU;AAAA,oBACDC,IADC,UACDA,IADC;AAAA,oBACKE,YADL,UACKA,YADL;AAAA,oBACmBE,UADnB,UACmBA,UADnB;AAAA,oBAC+BiC,SAD/B,UAC+BA,SAD/B;;AAEjB,oBAAM1C,cAAc,SAAdA,WAAc,CAACC,OAAD;AAAA,2BAAanC,GAAG6B,IAAH,CAAQO,QAAR,CAAiB,aAAjB,EAAgC/B,QAAhC,CAAyC,EAACgC,MAAMF,OAAP,EAAzC,CAAb;AAAA,iBAApB;AACA,oBAAMP,WAAW5B,GAAG6B,IAAH,CAAQC,MAAR,CAAe,aAAf,EAA8BC,sBAA9B,CAAqD,MAArD,CAAjB;;AAEA,wBAAQ6C,SAAR;AACI,yBAAK,SAAL;AACI1C,oCAAY,EAAC,2BAA4BI,UAAU,OAAV,GAAoB,EAAjD,EAAZ;AACA;AACA;AACA,4BAAI,CAACV,SAAS,kBAAT,CAAL,EAAmC;AAC/BM,wCAAY,EAAC,oBAAoB,KAAK2C,OAAL,CAAatC,IAAb,CAArB,EAAZ;AACH;AACD;AACJ,yBAAK,MAAL;AACI,4BAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC1BL,wCAAY,EAAC,oBAAoB,KAAK2C,OAAL,CAAatC,IAAb,CAArB,EAAZ;AACH;AACD;AACJ,yBAAK,QAAL;AACIL,oCAAY,EAAC,yBAAyBO,YAA1B,EAAZ;AACA,4BAAI,CAACA,aAAaG,QAAb,CAAsB,UAAtB,CAAL,EAAwC;AACpCV,wCAAY,EAAC,+BAA+B,EAAhC,EAAZ;AACH;AACD;AACJ,yBAAK,UAAL;AACIA,oCAAY,EAAC,+BAA+BS,UAAhC,EAAZ;AACA;AAtBR;AAyBH;AAzIc;AAAA;AAAA,qCA2IN;AAAA;;AAAA,8BACiC,KAAKnB,KADtC;AAAA,oBACEC,cADF,WACEA,cADF;AAAA,oBACkBC,WADlB,WACkBA,WADlB;AAAA,8BAEuD,KAAKF,KAF5D;AAAA,oBAEEc,OAFF,WAEEA,OAFF;AAAA,oBAEWC,IAFX,WAEWA,IAFX;AAAA,oBAEiBE,YAFjB,WAEiBA,YAFjB;AAAA,oBAE+BE,UAF/B,WAE+BA,UAF/B;AAAA,oBAE2CW,QAF3C,WAE2CA,QAF3C;;;AAIL,oBAAMtB,WAAWhC,GAAG6B,IAAH,CAAQC,MAAR,CAAe,aAAf,EAA8BG,kBAA9B,EAAjB;;AAEA,oBAAI6C,cAAc,CACd,EAACC,OAAO9E,OAAOoE,OAAP,CAAeW,KAAvB,EAA8BC,OAAO,OAArC,EADc,EAEd,EAACF,OAAO9E,OAAOoE,OAAP,CAAea,MAAvB,EAA+BD,OAAO,QAAtC,EAFc,EAGd,EAACF,OAAO9E,OAAOoE,OAAP,CAAec,KAAvB,EAA8BF,OAAO,OAArC,EAHc,EAId,EAACF,OAAO9E,OAAOoE,OAAP,CAAee,OAAvB,EAAgCH,OAAO,SAAvC,EAJc,EAKd,EAACF,OAAO9E,OAAOoE,OAAP,CAAegB,KAAvB,EAA8BJ,OAAO,OAArC,EALc,EAMd,EAACF,OAAO9E,OAAOoE,OAAP,CAAeiB,OAAvB,EAAgCL,OAAO,SAAvC,EANc,EAOd,EAACF,OAAO9E,OAAOoE,OAAP,CAAekB,eAAvB,EAAwCN,OAAO,UAA/C,EAPc,EAQd,EAACF,OAAO9E,OAAOoE,OAAP,CAAemB,WAAvB,EAAoCP,OAAO,cAA3C,EARc,EASd,EAACF,OAAO9E,OAAOoE,OAAP,CAAeoB,cAAvB,EAAuCR,OAAO,iBAA9C,EATc,CAAlB;;AAYA,oBAAIS,eAAe/C,cAActB,QAAQsB,WAAWgD,GAAX,CAAe,UAACvB,EAAD;AAAA,2BAAQ1C,YAAY0C,EAAZ,KAAmB,KAA3B;AAAA,iBAAf,CAAR,CAAjC;AACA,oBAAI,OAAOsB,YAAP,KAAwB,QAA5B,EAAsC;AAClCA,mCAAe,EAAf;AACH;;AAED,uBACI;AAAC,8CAAD;AAAA,sBAA4B,OAAOzF,OAAOoE,OAAP,CAAeuB,aAAlD,EAAiE,MAAK,UAAtE;AAC4B,qCAAatD,OADzC,EACkD,WAAW,sBAD7D;AAEI;AAAC,gCAAD;AAAA;AACI,4CAAC,eAAD;AACI,mCAAOrC,OAAOoE,OAAP,CAAewB,oBAD1B;AAEI,qCAASvD,OAFb;AAGI,sCAAU,kBAAC2C,KAAD,EAAW;AACjB,uCAAKzB,QAAL,CAAc,EAAClB,SAAS,CAACA,OAAX,EAAoBsC,WAAW,SAA/B,EAAd;AACH;AALL;AADJ,qBAFJ;AAWKtC,+BACG;AAAC,gCAAD;AAAA;AACI;AAAC,oCAAD;AAAA;AACI,gDAAC,cAAD;AACI,6CAAaC,IADjB;AAEI,0CAAU,kBAAC0C,KAAD;AAAA,2CAAW,OAAKzB,QAAL,CAAc,EAACjB,MAAM0C,KAAP,EAAcL,WAAW,MAAzB,EAAd,CAAX;AAAA,iCAFd;AAGI,0CAAU3E,OAAO6F;AAHrB;AADJ,yBADJ;AAQI,4CAAC,aAAD;AACI,mCAAO7F,OAAOoE,OAAP,CAAe0B,WAD1B;AAEI,mCAAOtD,YAFX;AAGI,qCAASqC,WAHb;AAII,sCAAU,kBAACG,KAAD,EAAW;AACjB,uCAAKzB,QAAL,CAAc,EAACf,cAAcwC,KAAf,EAAsBL,WAAW,QAAjC,EAAd;AACH;AANL,0BARJ;AAgBKnC,qCAAaG,QAAb,CAAsB,UAAtB,MAEIzB,QAAQC,KAAKK,cAAL,CAAR,KACG;AAAC,oCAAD;AAAA;AACKxB,mCAAOoE,OAAP,CAAe2B,OAAf,WAA8B1C,QAA9B,OADL;AAEI,gDAAC,OAAD;AAFJ,yBADJ,IAQI,oBAAC,cAAD;AACI,mCAAOrD,OAAOoE,OAAP,CAAe4B,oBAAf,WAA2C3C,QAA3C,OADX;AAEI,mCAAOoC,YAFX;AAGI,yCAAaQ,OAAO9E,IAAP,CAAYK,cAAZ,CAHjB;AAII,sCAAU,kBAACwD,KAAD,EAAW;AACjB,uCAAKzB,QAAL,CAAc;AACVb,gDAAY,OAAKwD,gBAAL,CAAsBlB,KAAtB,CADF;AAEVL,+CAAW;AAFD,iCAAd;AAIH,6BATL;AAUI,4CAAgB;AAVpB,0BAVP;AAhBL;AAZR,iBADJ;AAyDH;;AAED;;AA7Ne;AAAA;AAAA,0CA8NDhD,QA9NC,EA8NS;AACpB,oBAAIwE,UAAUxE,SAAS,uBAAT,CAAd;AACA,oBAAIyE,UAAUzE,SAAS,0BAAT,KAAwCA,SAAS,0BAAT,EAAqC,YAArC,CAAtD;;AAIA,oBAAIwE,OAAJ,EAAa;AACT,2BAAOA,OAAP;AACH;;AAED,oBAAIC,OAAJ,EAAa;AACT,2BAAOA,OAAP;AACH;;AAED,oBAAIpG,UAAUA,OAAOsD,QAAjB,IAA6BtD,OAAOsD,QAAP,CAAgB+C,UAAjD,EAA6D;AACzD,2BAAOrG,OAAOsD,QAAP,CAAgB+C,UAAvB;AACH;;AAED,uBAAO,OAAP;AACH;;AAED;;AAnPe;AAAA;AAAA,0CAoPD1E,QApPC,EAoPS;AACpB,oBAAI2E,gBAAgB3E,SAAS,6BAAT,KAA2CA,SAAS,6BAAT,CAA/D;AACA,oBAAI4E,gBAAgB5E,SAAS,0BAAT,KAAwCA,SAAS,0BAAT,EAAqC,UAArC,CAA5D;;AAEA,oBAAI,QAAO2E,aAAP,yCAAOA,aAAP,OAAyB,QAAzB,IAAqCA,cAAcE,MAAd,GAAuB,CAAhE,EAAmE;AAC/D,2BAAOF,aAAP;AACH;;AAED,oBAAIC,iBAAiB,OAAOA,aAAP,KAAyB,WAA1C,IAAyD,QAAOA,aAAP,yCAAOA,aAAP,OAAyB,QAAtF,EAAgG;AAC5F7D,iCAAa,CAAC6D,aAAD,CAAb;AACH;;AAED,uBAAOA,aAAP;AAEH;;AAED;;AApQe;AAAA;AAAA,6CAqQEE,MArQF,EAqQU;AAAA,8BACiB,KAAKlF,KADtB;AAAA,oBACdC,cADc,WACdA,cADc;AAAA,oBACEC,WADF,WACEA,WADF;;;AAGrB,oBAAIiF,kBAAkBD,OAAOE,IAAP,CAAY,UAAUC,KAAV,EAAiB;AAC/C,2BAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACpF,eAAeoF,KAAf,CAArC;AACH,iBAFqB,CAAtB;;AAIA,oBAAIF,eAAJ,EAAqB;AACjB;AACH;;AAED,oBAAIhE,aAAa+D,OAAOf,GAAP,CAAW,UAAUkB,KAAV,EAAiB;AACzC,2BAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BpF,eAAeoF,KAAf,CAA5B,GAAoDA,KAA3D;AACH,iBAFgB,CAAjB;;AAIA,uBAAOlE,WAAWgD,GAAX,CAAe,UAACzB,GAAD;AAAA,2BAASA,IAAIE,EAAb;AAAA,iBAAf,CAAP;AACH;AArRc;AAAA;AAAA,oCAuRP7B,IAvRO,EAuRD;AACV,oBAAIuE,UAAU,IAAItE,IAAJ,EAAd;AACA,oBAAIM,wBAAwB,IAAIN,IAAJ,GAAWO,iBAAX,KAAiC,EAA7D;AACA,oBAAIC,mBAAmB/C,OAAOgD,eAAP,GAAyB,EAAhD;AACA6D,wBAAQ5D,OAAR,CAAgBV,KAAKuE,KAAL,CAAWxE,IAAX,CAAhB;AACAuE,wBAAQ5D,OAAR,CAAgB4D,QAAQrD,OAAR,KAAoB,CAACX,wBAAwBE,gBAAzB,IAA6C,IAAjF;AACA,uBAAS8D,QAAQrD,OAAR,EAAD,GAAsB,IAA9B;AACH;AA9Rc;;AAAA;AAAA,MASgB1C,SAThB;;AAkSnBb,mBAAe,uBAAf,EAAwC;AACpC8G,gBAAQ1F;AAD4B,KAAxC;AAKH,CAvSD,EAuSG2F,OAAOjH,EAvSV,EAuSciH,OAAOC,wBAvSrB,E","file":"gutenberg-panel.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","(function (wp, config) {\n\n const {registerPlugin} = wp.plugins;\n const {PluginDocumentSettingPanel} = wp.editPost;\n const {PanelRow, DateTimePicker, CheckboxControl, SelectControl, FormTokenField, Spinner} = wp.components;\n const {Fragment, Component} = wp.element;\n const {decodeEntities} = wp.htmlEntities;\n const {isEmpty, keys, compact} = lodash;\n\n class PostExpiratorSidebar extends Component {\n constructor() {\n super(...arguments);\n\n this.state = {\n categoriesList: [],\n catIdVsName: [],\n }\n }\n\n componentWillMount() {\n const {attributes} = this.state;\n\n const postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');\n const postType = wp.data.select('core/editor').getCurrentPostType();\n const setPostMeta = (newMeta) => wp.data.dispatch('core/editor').editPost({meta: newMeta});\n\n let enabled = false;\n let date = new Date();\n\n let expireAction = this.getExpireType(postMeta);\n\n let categories = [];\n if (expireAction.includes('category')) {\n categories = this.getCategories(postMeta);\n }\n\n if (postMeta['_expiration-date-status'] && postMeta['_expiration-date-status'] === 'saved') {\n enabled = true;\n }\n\n let browserTimezoneOffset = date.getTimezoneOffset() * 60;\n let wpTimezoneOffset = config.timezone_offset * 60;\n\n if (postMeta['_expiration-date']) {\n date.setTime((postMeta['_expiration-date'] + browserTimezoneOffset + wpTimezoneOffset) * 1000);\n } else {\n categories = config.default_categories;\n if (config.default_date) {\n date.setTime((parseInt(config.default_date) + browserTimezoneOffset + wpTimezoneOffset) * 1000);\n }\n\n // If the date is not set\n enabled = false;\n }\n\n let taxonomy = config.defaults.taxonomy || 'category';\n\n this.setState({\n enabled: enabled,\n date: date,\n expireAction: expireAction,\n categories: categories,\n taxonomy: taxonomy,\n });\n\n // Force all the metadata to be saved. Required for making sure the default settings are stored correctly.\n setPostMeta({'_expiration-date-status': (enabled ? 'saved' : '')});\n setPostMeta({'_expiration-date': (date.getTime()) / 1000});\n setPostMeta({'_expiration-date-type': expireAction});\n setPostMeta({'_expiration-date-categories': categories});\n\n let categoriesList = [];\n let catIdVsName = [];\n\n if ((!taxonomy && postType === 'post') || taxonomy === 'category') {\n wp.apiFetch({\n path: wp.url.addQueryArgs('wp/v2/categories', {per_page: -1}),\n }).then((list) => {\n list.forEach(cat => {\n categoriesList[cat.name] = cat;\n catIdVsName[cat.id] = cat.name;\n });\n this.setState({categoriesList: categoriesList, catIdVsName: catIdVsName, taxonomy: config.strings.category});\n });\n } else {\n wp.apiFetch({\n path: wp.url.addQueryArgs(`wp/v2/taxonomies/${taxonomy}`, {context: 'edit'}),\n }).then((taxAttributes) => {\n // fetch all terms\n wp.apiFetch({\n path: wp.url.addQueryArgs(`wp/v2/${taxAttributes.rest_base}`, {context: 'edit'}),\n }).then((terms) => {\n terms.forEach(term => {\n categoriesList[decodeEntities(term.name)] = term;\n catIdVsName[term.id] = decodeEntities(term.name);\n });\n this.setState({\n categoriesList: categoriesList,\n catIdVsName: catIdVsName,\n taxonomy: decodeEntities(taxAttributes.name)\n });\n });\n });\n }\n\n }\n\n componentDidUpdate() {\n const {enabled, date, expireAction, categories, attribute} = this.state;\n const setPostMeta = (newMeta) => wp.data.dispatch('core/editor').editPost({meta: newMeta});\n const postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');\n\n switch (attribute) {\n case 'enabled':\n setPostMeta({'_expiration-date-status': (enabled ? 'saved' : '')});\n // if date is not set when the checkbox is enabled, set it to the default date\n // this is to prevent the user from having to click the date to set it\n if (!postMeta['_expiration-date']) {\n setPostMeta({'_expiration-date': this.getDate(date)});\n }\n break;\n case 'date':\n if (typeof date === 'string') {\n setPostMeta({'_expiration-date': this.getDate(date)});\n }\n break;\n case 'action':\n setPostMeta({'_expiration-date-type': expireAction});\n if (!expireAction.includes('category')) {\n setPostMeta({'_expiration-date-categories': []});\n }\n break;\n case 'category':\n setPostMeta({'_expiration-date-categories': categories});\n break;\n }\n\n }\n\n render() {\n const {categoriesList, catIdVsName} = this.state;\n const {enabled, date, expireAction, categories, taxonomy} = this.state;\n\n const postType = wp.data.select('core/editor').getCurrentPostType();\n\n let actionsList = [\n {label: config.strings.draft, value: 'draft'},\n {label: config.strings.delete, value: 'delete'},\n {label: config.strings.trash, value: 'trash'},\n {label: config.strings.private, value: 'private'},\n {label: config.strings.stick, value: 'stick'},\n {label: config.strings.unstick, value: 'unstick'},\n {label: config.strings.categoryReplace, value: 'category'},\n {label: config.strings.categoryAdd, value: 'category-add'},\n {label: config.strings.categoryRemove, value: 'category-remove'},\n ];\n\n let selectedCats = categories && compact(categories.map((id) => catIdVsName[id] || false));\n if (typeof selectedCats === 'string') {\n selectedCats = [];\n }\n\n return (\n <PluginDocumentSettingPanel title={config.strings.postExpirator} icon=\"calendar\"\n initialOpen={enabled} className={'post-expirator-panel'}>\n <PanelRow>\n <CheckboxControl\n label={config.strings.enablePostExpiration}\n checked={enabled}\n onChange={(value) => {\n this.setState({enabled: !enabled, attribute: 'enabled'})\n }}\n />\n </PanelRow>\n {enabled && (\n <Fragment>\n <PanelRow>\n <DateTimePicker\n currentDate={date}\n onChange={(value) => this.setState({date: value, attribute: 'date'})}\n is12Hour={config.is_12_hours}\n />\n </PanelRow>\n <SelectControl\n label={config.strings.howToExpire}\n value={expireAction}\n options={actionsList}\n onChange={(value) => {\n this.setState({expireAction: value, attribute: 'action'})\n }}\n />\n {expireAction.includes('category') &&\n (\n (isEmpty(keys(categoriesList)) && (\n <Fragment>\n {config.strings.loading + ` (${taxonomy})`}\n <Spinner/>\n </Fragment>\n ))\n ||\n (\n <FormTokenField\n label={config.strings.expirationCategories + ` (${taxonomy})`}\n value={selectedCats}\n suggestions={Object.keys(categoriesList)}\n onChange={(value) => {\n this.setState({\n categories: this.selectCategories(value),\n attribute: 'category'\n })\n }}\n maxSuggestions={10}\n />\n )\n )}\n </Fragment>\n )}\n </PluginDocumentSettingPanel>\n );\n }\n\n // what action to take on expiration\n getExpireType(postMeta) {\n let typeNew = postMeta['_expiration-date-type'];\n let typeOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['expireType'];\n\n\n\n if (typeNew) {\n return typeNew;\n }\n\n if (typeOld) {\n return typeOld;\n }\n\n if (config && config.defaults && config.defaults.expireType) {\n return config.defaults.expireType;\n }\n\n return 'draft';\n }\n\n // what categories to add/remove/replace\n getCategories(postMeta) {\n let categoriesNew = postMeta['_expiration-date-categories'] && postMeta['_expiration-date-categories'];\n let categoriesOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['category'];\n\n if (typeof categoriesNew === 'object' && categoriesNew.length > 0) {\n return categoriesNew;\n }\n\n if (categoriesOld && typeof categoriesOld !== 'undefined' && typeof categoriesOld !== 'object') {\n categories = [categoriesOld];\n }\n\n return categoriesOld;\n\n }\n\n // fired for the autocomplete\n selectCategories(tokens) {\n const {categoriesList, catIdVsName} = this.state;\n\n var hasNoSuggestion = tokens.some(function (token) {\n return typeof token === 'string' && !categoriesList[token];\n });\n\n if (hasNoSuggestion) {\n return;\n }\n\n var categories = tokens.map(function (token) {\n return typeof token === 'string' ? categoriesList[token] : token;\n })\n\n return categories.map((cat) => cat.id);\n }\n\n getDate(date) {\n let newDate = new Date();\n let browserTimezoneOffset = new Date().getTimezoneOffset() * 60;\n let wpTimezoneOffset = config.timezone_offset * 60;\n newDate.setTime(Date.parse(date));\n newDate.setTime(newDate.getTime() - (browserTimezoneOffset + wpTimezoneOffset) * 1000);\n return ((newDate.getTime()) / 1000);\n }\n\n }\n\n registerPlugin('postexpirator-sidebar', {\n render: PostExpiratorSidebar\n });\n\n\n})(window.wp, window.postExpiratorPanelConfig);\n"],"sourceRoot":""}
assets/jsx/gutenberg-panel.jsx DELETED
@@ -1,301 +0,0 @@
1
- (function (wp, config) {
2
-
3
- const {registerPlugin} = wp.plugins;
4
- const {PluginDocumentSettingPanel} = wp.editPost;
5
- const {PanelRow, DateTimePicker, CheckboxControl, SelectControl, FormTokenField, Spinner} = wp.components;
6
- const {Fragment, Component} = wp.element;
7
- const {decodeEntities} = wp.htmlEntities;
8
- const {isEmpty, keys, compact} = lodash;
9
-
10
- class PostExpiratorSidebar extends Component {
11
- constructor() {
12
- super(...arguments);
13
-
14
- this.state = {
15
- categoriesList: [],
16
- catIdVsName: [],
17
- }
18
- }
19
-
20
- componentWillMount() {
21
- const {attributes} = this.state;
22
-
23
- const postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');
24
- const postType = wp.data.select('core/editor').getCurrentPostType();
25
- const setPostMeta = (newMeta) => wp.data.dispatch('core/editor').editPost({meta: newMeta});
26
-
27
- let enabled = false;
28
- let date = new Date();
29
-
30
- let expireAction = this.getExpireType(postMeta);
31
-
32
- let categories = [];
33
- if (expireAction.includes('category')) {
34
- categories = this.getCategories(postMeta);
35
- }
36
-
37
- if (postMeta['_expiration-date-status'] && postMeta['_expiration-date-status'] === 'saved') {
38
- enabled = true;
39
- }
40
-
41
- let browserTimezoneOffset = date.getTimezoneOffset() * 60;
42
- let wpTimezoneOffset = config.timezone_offset * 60;
43
-
44
- if (postMeta['_expiration-date']) {
45
- date.setTime((postMeta['_expiration-date'] + browserTimezoneOffset + wpTimezoneOffset) * 1000);
46
- } else {
47
- categories = config.default_categories;
48
- if (config.default_date) {
49
- date.setTime((parseInt(config.default_date) + browserTimezoneOffset + wpTimezoneOffset) * 1000);
50
- }
51
-
52
- // If the date is not set
53
- enabled = false;
54
- }
55
-
56
- let taxonomy = config.defaults.taxonomy || 'category';
57
-
58
- this.setState({
59
- enabled: enabled,
60
- date: date,
61
- expireAction: expireAction,
62
- categories: categories,
63
- taxonomy: taxonomy,
64
- });
65
-
66
- // Force all the metadata to be saved. Required for making sure the default settings are stored correctly.
67
- setPostMeta({'_expiration-date-status': (enabled ? 'saved' : '')});
68
- setPostMeta({'_expiration-date': (date.getTime()) / 1000});
69
- setPostMeta({'_expiration-date-type': expireAction});
70
- setPostMeta({'_expiration-date-categories': categories});
71
-
72
- let categoriesList = [];
73
- let catIdVsName = [];
74
-
75
- if ((!taxonomy && postType === 'post') || taxonomy === 'category') {
76
- wp.apiFetch({
77
- path: wp.url.addQueryArgs('wp/v2/categories', {per_page: -1}),
78
- }).then((list) => {
79
- list.forEach(cat => {
80
- categoriesList[cat.name] = cat;
81
- catIdVsName[cat.id] = cat.name;
82
- });
83
- this.setState({categoriesList: categoriesList, catIdVsName: catIdVsName, taxonomy: config.strings.category});
84
- });
85
- } else if (postType !== 'page') {
86
- wp.apiFetch({
87
- path: wp.url.addQueryArgs(`wp/v2/taxonomies/${taxonomy}`, {context: 'edit'}),
88
- }).then((taxAttributes) => {
89
- // fetch all terms
90
- wp.apiFetch({
91
- path: wp.url.addQueryArgs(`wp/v2/${taxAttributes.rest_base}`, {context: 'edit'}),
92
- }).then((terms) => {
93
- terms.forEach(term => {
94
- categoriesList[decodeEntities(term.name)] = term;
95
- catIdVsName[term.id] = decodeEntities(term.name);
96
- });
97
- this.setState({
98
- categoriesList: categoriesList,
99
- catIdVsName: catIdVsName,
100
- taxonomy: decodeEntities(taxAttributes.name)
101
- });
102
- });
103
- });
104
- }
105
-
106
- }
107
-
108
- componentDidUpdate() {
109
- const {enabled, date, expireAction, categories, attribute} = this.state;
110
- const setPostMeta = (newMeta) => wp.data.dispatch('core/editor').editPost({meta: newMeta});
111
- const postMeta = wp.data.select('core/editor').getEditedPostAttribute('meta');
112
-
113
- switch (attribute) {
114
- case 'enabled':
115
- setPostMeta({'_expiration-date-status': (enabled ? 'saved' : '')});
116
- // if date is not set when the checkbox is enabled, set it to the default date
117
- // this is to prevent the user from having to click the date to set it
118
- if (!postMeta['_expiration-date']) {
119
- setPostMeta({'_expiration-date': this.getDate(date)});
120
- }
121
- break;
122
- case 'date':
123
- if (typeof date === 'string') {
124
- setPostMeta({'_expiration-date': this.getDate(date)});
125
- }
126
- break;
127
- case 'action':
128
- setPostMeta({'_expiration-date-type': expireAction});
129
- if (!expireAction.includes('category')) {
130
- setPostMeta({'_expiration-date-categories': []});
131
- }
132
- break;
133
- case 'category':
134
- setPostMeta({'_expiration-date-categories': categories});
135
- break;
136
- }
137
-
138
- }
139
-
140
- render() {
141
- const {categoriesList, catIdVsName} = this.state;
142
- const {enabled, date, expireAction, categories, taxonomy} = this.state;
143
-
144
- const postType = wp.data.select('core/editor').getCurrentPostType();
145
-
146
- let actionsList = [
147
- {label: config.strings.draft, value: 'draft'},
148
- {label: config.strings.delete, value: 'delete'},
149
- {label: config.strings.trash, value: 'trash'},
150
- {label: config.strings.private, value: 'private'},
151
- {label: config.strings.stick, value: 'stick'},
152
- {label: config.strings.unstick, value: 'unstick'},
153
- ];
154
-
155
- if (postType !== 'page') {
156
- actionsList = _.union(actionsList, [
157
- {label: config.strings.categoryReplace, value: 'category'},
158
- {label: config.strings.categoryAdd, value: 'category-add'},
159
- {label: config.strings.categoryRemove, value: 'category-remove'},
160
- ]);
161
- }
162
-
163
- let selectedCats = categories && compact(categories.map((id) => catIdVsName[id] || false));
164
- if (typeof selectedCats === 'string') {
165
- selectedCats = [];
166
- }
167
-
168
- return (
169
- <PluginDocumentSettingPanel title={config.strings.postExpirator} icon="calendar"
170
- initialOpen={enabled} className={'post-expirator-panel'}>
171
- <PanelRow>
172
- <CheckboxControl
173
- label={config.strings.enablePostExpiration}
174
- checked={enabled}
175
- onChange={(value) => {
176
- this.setState({enabled: !enabled, attribute: 'enabled'})
177
- }}
178
- />
179
- </PanelRow>
180
- {enabled && (
181
- <Fragment>
182
- <PanelRow>
183
- <DateTimePicker
184
- currentDate={date}
185
- onChange={(value) => this.setState({date: value, attribute: 'date'})}
186
- is_12_hours={config.is_12_hours}
187
- />
188
- </PanelRow>
189
- <SelectControl
190
- label={config.strings.howToExpire}
191
- value={expireAction}
192
- options={actionsList}
193
- onChange={(value) => {
194
- this.setState({expireAction: value, attribute: 'action'})
195
- }}
196
- />
197
- {expireAction.includes('category') &&
198
- (
199
- (isEmpty(keys(categoriesList)) && (
200
- <Fragment>
201
- {config.strings.loading + ` (${taxonomy})`}
202
- <Spinner/>
203
- </Fragment>
204
- ))
205
- ||
206
- (
207
- <FormTokenField
208
- label={config.strings.expirationCategories + ` (${taxonomy})`}
209
- value={selectedCats}
210
- suggestions={Object.keys(categoriesList)}
211
- onChange={(value) => {
212
- this.setState({
213
- categories: this.selectCategories(value),
214
- attribute: 'category'
215
- })
216
- }}
217
- maxSuggestions={10}
218
- />
219
- )
220
- )}
221
- </Fragment>
222
- )}
223
- </PluginDocumentSettingPanel>
224
- );
225
- }
226
-
227
- // what action to take on expiration
228
- getExpireType(postMeta) {
229
- let typeNew = postMeta['_expiration-date-type'];
230
- let typeOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['expireType'];
231
-
232
-
233
-
234
- if (typeNew) {
235
- return typeNew;
236
- }
237
-
238
- if (typeOld) {
239
- return typeOld;
240
- }
241
-
242
- if (config && config.defaults && config.defaults.expireType) {
243
- return config.defaults.expireType;
244
- }
245
-
246
- return 'draft';
247
- }
248
-
249
- // what categories to add/remove/replace
250
- getCategories(postMeta) {
251
- let categoriesNew = postMeta['_expiration-date-categories'] && postMeta['_expiration-date-categories'];
252
- let categoriesOld = postMeta['_expiration-date-options'] && postMeta['_expiration-date-options']['category'];
253
-
254
- if (typeof categoriesNew === 'object' && categoriesNew.length > 0) {
255
- return categoriesNew;
256
- }
257
-
258
- if (categoriesOld && typeof categoriesOld !== 'undefined' && typeof categoriesOld !== 'object') {
259
- categories = [categoriesOld];
260
- }
261
-
262
- return categoriesOld;
263
-
264
- }
265
-
266
- // fired for the autocomplete
267
- selectCategories(tokens) {
268
- const {categoriesList, catIdVsName} = this.state;
269
-
270
- var hasNoSuggestion = tokens.some(function (token) {
271
- return typeof token === 'string' && !categoriesList[token];
272
- });
273
-
274
- if (hasNoSuggestion) {
275
- return;
276
- }
277
-
278
- var categories = tokens.map(function (token) {
279
- return typeof token === 'string' ? categoriesList[token] : token;
280
- })
281
-
282
- return categories.map((cat) => cat.id);
283
- }
284
-
285
- getDate(date) {
286
- let newDate = new Date();
287
- let browserTimezoneOffset = new Date().getTimezoneOffset() * 60;
288
- let wpTimezoneOffset = config.timezone_offset * 60;
289
- newDate.setTime(Date.parse(date));
290
- newDate.setTime(newDate.getTime() - (browserTimezoneOffset + wpTimezoneOffset) * 1000);
291
- return ((newDate.getTime()) / 1000);
292
- }
293
-
294
- }
295
-
296
- registerPlugin('postexpirator-sidebar', {
297
- render: PostExpiratorSidebar
298
- });
299
-
300
-
301
- })(window.wp, window.postExpiratorPanelConfig);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/Facade.class.php CHANGED
@@ -365,21 +365,21 @@ class PostExpirator_Facade
365
  'is_12_hours' => get_option('time_format') !== 'H:i',
366
  'timezone_offset' => PostExpirator_Util::get_timezone_offset() / 60,
367
  'strings' => [
368
- 'category' => __('Category'),
369
  'draft' => __('Draft', 'post-expirator'),
370
  'delete' => __('Delete', 'post-expirator'),
371
  'trash' => __('Trash', 'post-expirator'),
372
  'private' => __('Private', 'post-expirator'),
373
  'stick' => __('Stick', 'post-expirator'),
374
  'unstick' => __('Unstick', 'post-expirator'),
375
- 'categoryReplace' => __('Category: Replace', 'post-expirator'),
376
- 'categoryAdd' => __('Category: Add', 'post-expirator'),
377
- 'categoryRemove' => __('Category: Remove', 'post-expirator'),
378
  'postExpirator' => __('PublishPress Future', 'post-expirator'),
379
  'enablePostExpiration' => __('Enable Post Expiration', 'post-expirator'),
380
  'howToExpire' => __('How to expire', 'post-expirator'),
381
  'loading' => __('Loading', 'post-expirator'),
382
- 'expirationCategories' => __('Expiration Categories', 'post-expirator'),
383
  ]
384
  ]
385
  );
365
  'is_12_hours' => get_option('time_format') !== 'H:i',
366
  'timezone_offset' => PostExpirator_Util::get_timezone_offset() / 60,
367
  'strings' => [
368
+ 'category' => __('Taxonomy'),
369
  'draft' => __('Draft', 'post-expirator'),
370
  'delete' => __('Delete', 'post-expirator'),
371
  'trash' => __('Trash', 'post-expirator'),
372
  'private' => __('Private', 'post-expirator'),
373
  'stick' => __('Stick', 'post-expirator'),
374
  'unstick' => __('Unstick', 'post-expirator'),
375
+ 'categoryReplace' => __('Taxonomy: Replace', 'post-expirator'),
376
+ 'categoryAdd' => __('Taxonomy: Add', 'post-expirator'),
377
+ 'categoryRemove' => __('Taxonomy: Remove', 'post-expirator'),
378
  'postExpirator' => __('PublishPress Future', 'post-expirator'),
379
  'enablePostExpiration' => __('Enable Post Expiration', 'post-expirator'),
380
  'howToExpire' => __('How to expire', 'post-expirator'),
381
  'loading' => __('Loading', 'post-expirator'),
382
+ 'expirationCategories' => __('Expiration Taxonomies', 'post-expirator'),
383
  ]
384
  ]
385
  );
composer.json CHANGED
@@ -71,7 +71,7 @@
71
  "automattic/vipwpcs": "^2.3",
72
  "publishpress/publishpress-phpcs-standards": "dev-main",
73
  "spatie/ray": "*",
74
- "spatie/wordpress-ray": "dev-patch-1",
75
  "permafrost-dev/ray-cli": "^1.12"
76
  },
77
  "scripts": {
@@ -91,8 +91,8 @@
91
  "tests": "Manage tests on Docker a container. You need to pass the PHP version as the first argument. Check versions available running 'composer test-php'.",
92
  "tests-php": "Show the available PHP versions for running tests."
93
  },
94
- "extra": {
95
- "plugin-slug": "post-expirator",
96
  "plugin-name": "publishpress-future"
97
- }
98
  }
71
  "automattic/vipwpcs": "^2.3",
72
  "publishpress/publishpress-phpcs-standards": "dev-main",
73
  "spatie/ray": "*",
74
+ "spatie/wordpress-ray": "dev-patch-1",
75
  "permafrost-dev/ray-cli": "^1.12"
76
  },
77
  "scripts": {
91
  "tests": "Manage tests on Docker a container. You need to pass the PHP version as the first argument. Check versions available running 'composer test-php'.",
92
  "tests-php": "Show the available PHP versions for running tests."
93
  },
94
+ "extra": {
95
+ "plugin-slug": "post-expirator",
96
  "plugin-name": "publishpress-future"
97
+ }
98
  }
composer.lock CHANGED
@@ -697,16 +697,16 @@
697
  },
698
  {
699
  "name": "codeception/codeception",
700
- "version": "4.2.1",
701
  "source": {
702
  "type": "git",
703
  "url": "https://github.com/Codeception/Codeception.git",
704
- "reference": "77b3e2003fd4446b35826cb9dc397129c521c888"
705
  },
706
  "dist": {
707
  "type": "zip",
708
- "url": "https://api.github.com/repos/Codeception/Codeception/zipball/77b3e2003fd4446b35826cb9dc397129c521c888",
709
- "reference": "77b3e2003fd4446b35826cb9dc397129c521c888",
710
  "shasum": ""
711
  },
712
  "require": {
@@ -783,7 +783,7 @@
783
  ],
784
  "support": {
785
  "issues": "https://github.com/Codeception/Codeception/issues",
786
- "source": "https://github.com/Codeception/Codeception/tree/4.2.1"
787
  },
788
  "funding": [
789
  {
@@ -791,7 +791,7 @@
791
  "type": "open_collective"
792
  }
793
  ],
794
- "time": "2022-06-22T06:18:59+00:00"
795
  },
796
  {
797
  "name": "codeception/lib-asserts",
@@ -1275,16 +1275,16 @@
1275
  },
1276
  {
1277
  "name": "codeception/module-webdriver",
1278
- "version": "1.4.0",
1279
  "source": {
1280
  "type": "git",
1281
  "url": "https://github.com/Codeception/module-webdriver.git",
1282
- "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151"
1283
  },
1284
  "dist": {
1285
  "type": "zip",
1286
- "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/baa18b7bf70aa024012f967b5ce5021e1faa9151",
1287
- "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151",
1288
  "shasum": ""
1289
  },
1290
  "require": {
@@ -1325,9 +1325,9 @@
1325
  ],
1326
  "support": {
1327
  "issues": "https://github.com/Codeception/module-webdriver/issues",
1328
- "source": "https://github.com/Codeception/module-webdriver/tree/1.4.0"
1329
  },
1330
- "time": "2021-09-02T12:01:02+00:00"
1331
  },
1332
  {
1333
  "name": "codeception/phpunit-wrapper",
@@ -1802,21 +1802,21 @@
1802
  },
1803
  {
1804
  "name": "consolidation/config",
1805
- "version": "2.1.1",
1806
  "source": {
1807
  "type": "git",
1808
  "url": "https://github.com/consolidation/config.git",
1809
- "reference": "dae810c162f0e799ea3f35cc2f40b0797b6e4d26"
1810
  },
1811
  "dist": {
1812
  "type": "zip",
1813
- "url": "https://api.github.com/repos/consolidation/config/zipball/dae810c162f0e799ea3f35cc2f40b0797b6e4d26",
1814
- "reference": "dae810c162f0e799ea3f35cc2f40b0797b6e4d26",
1815
  "shasum": ""
1816
  },
1817
  "require": {
1818
  "dflydev/dot-access-data": "^1.1.0 || ^2 || ^3",
1819
- "grasmash/expander": "^2.0.1",
1820
  "php": ">=7.1.3",
1821
  "symfony/event-dispatcher": "^4 || ^5 || ^6"
1822
  },
@@ -1856,9 +1856,9 @@
1856
  "description": "Provide configuration services for a commandline tool.",
1857
  "support": {
1858
  "issues": "https://github.com/consolidation/config/issues",
1859
- "source": "https://github.com/consolidation/config/tree/2.1.1"
1860
  },
1861
- "time": "2022-06-22T19:59:34+00:00"
1862
  },
1863
  {
1864
  "name": "consolidation/log",
@@ -2430,28 +2430,28 @@
2430
  },
2431
  {
2432
  "name": "doctrine/inflector",
2433
- "version": "2.0.4",
2434
  "source": {
2435
  "type": "git",
2436
  "url": "https://github.com/doctrine/inflector.git",
2437
- "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
2438
  },
2439
  "dist": {
2440
  "type": "zip",
2441
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
2442
- "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
2443
  "shasum": ""
2444
  },
2445
  "require": {
2446
  "php": "^7.2 || ^8.0"
2447
  },
2448
  "require-dev": {
2449
- "doctrine/coding-standard": "^8.2",
2450
- "phpstan/phpstan": "^0.12",
2451
- "phpstan/phpstan-phpunit": "^0.12",
2452
- "phpstan/phpstan-strict-rules": "^0.12",
2453
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
2454
- "vimeo/psalm": "^4.10"
2455
  },
2456
  "type": "library",
2457
  "autoload": {
@@ -2501,7 +2501,7 @@
2501
  ],
2502
  "support": {
2503
  "issues": "https://github.com/doctrine/inflector/issues",
2504
- "source": "https://github.com/doctrine/inflector/tree/2.0.4"
2505
  },
2506
  "funding": [
2507
  {
@@ -2517,7 +2517,7 @@
2517
  "type": "tidelift"
2518
  }
2519
  ],
2520
- "time": "2021-10-22T20:16:43+00:00"
2521
  },
2522
  {
2523
  "name": "doctrine/instantiator",
@@ -2826,16 +2826,16 @@
2826
  },
2827
  {
2828
  "name": "friendsofphp/php-cs-fixer",
2829
- "version": "v3.9.3",
2830
  "source": {
2831
  "type": "git",
2832
  "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
2833
- "reference": "bad87e63d7d87efa5e82aa4feafa52df6a37e6c1"
2834
  },
2835
  "dist": {
2836
  "type": "zip",
2837
- "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/bad87e63d7d87efa5e82aa4feafa52df6a37e6c1",
2838
- "reference": "bad87e63d7d87efa5e82aa4feafa52df6a37e6c1",
2839
  "shasum": ""
2840
  },
2841
  "require": {
@@ -2845,7 +2845,7 @@
2845
  "ext-json": "*",
2846
  "ext-tokenizer": "*",
2847
  "php": "^7.4 || ^8.0",
2848
- "php-cs-fixer/diff": "^2.0",
2849
  "symfony/console": "^5.4 || ^6.0",
2850
  "symfony/event-dispatcher": "^5.4 || ^6.0",
2851
  "symfony/filesystem": "^5.4 || ^6.0",
@@ -2868,8 +2868,8 @@
2868
  "phpspec/prophecy": "^1.15",
2869
  "phpspec/prophecy-phpunit": "^2.0",
2870
  "phpunit/phpunit": "^9.5",
2871
- "phpunitgoodpractices/polyfill": "^1.5",
2872
- "phpunitgoodpractices/traits": "^1.9.1",
2873
  "symfony/phpunit-bridge": "^6.0",
2874
  "symfony/yaml": "^5.4 || ^6.0"
2875
  },
@@ -2903,7 +2903,7 @@
2903
  "description": "A tool to automatically fix PHP code style",
2904
  "support": {
2905
  "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues",
2906
- "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.9.3"
2907
  },
2908
  "funding": [
2909
  {
@@ -2911,20 +2911,20 @@
2911
  "type": "github"
2912
  }
2913
  ],
2914
- "time": "2022-07-13T09:53:20+00:00"
2915
  },
2916
  {
2917
  "name": "gettext/gettext",
2918
- "version": "v4.8.6",
2919
  "source": {
2920
  "type": "git",
2921
  "url": "https://github.com/php-gettext/Gettext.git",
2922
- "reference": "bbeb8f4d3077663739aecb4551b22e720c0e9efe"
2923
  },
2924
  "dist": {
2925
  "type": "zip",
2926
- "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/bbeb8f4d3077663739aecb4551b22e720c0e9efe",
2927
- "reference": "bbeb8f4d3077663739aecb4551b22e720c0e9efe",
2928
  "shasum": ""
2929
  },
2930
  "require": {
@@ -2976,7 +2976,7 @@
2976
  "support": {
2977
  "email": "oom@oscarotero.com",
2978
  "issues": "https://github.com/oscarotero/Gettext/issues",
2979
- "source": "https://github.com/php-gettext/Gettext/tree/v4.8.6"
2980
  },
2981
  "funding": [
2982
  {
@@ -2992,7 +2992,7 @@
2992
  "type": "patreon"
2993
  }
2994
  ],
2995
- "time": "2021-10-19T10:44:53+00:00"
2996
  },
2997
  {
2998
  "name": "gettext/languages",
@@ -3121,16 +3121,16 @@
3121
  },
3122
  {
3123
  "name": "guzzlehttp/guzzle",
3124
- "version": "7.4.5",
3125
  "source": {
3126
  "type": "git",
3127
  "url": "https://github.com/guzzle/guzzle.git",
3128
- "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82"
3129
  },
3130
  "dist": {
3131
  "type": "zip",
3132
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82",
3133
- "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82",
3134
  "shasum": ""
3135
  },
3136
  "require": {
@@ -3145,10 +3145,10 @@
3145
  "psr/http-client-implementation": "1.0"
3146
  },
3147
  "require-dev": {
3148
- "bamarni/composer-bin-plugin": "^1.4.1",
3149
  "ext-curl": "*",
3150
  "php-http/client-integration-tests": "^3.0",
3151
- "phpunit/phpunit": "^8.5.5 || ^9.3.5",
3152
  "psr/log": "^1.1 || ^2.0 || ^3.0"
3153
  },
3154
  "suggest": {
@@ -3158,8 +3158,12 @@
3158
  },
3159
  "type": "library",
3160
  "extra": {
 
 
 
 
3161
  "branch-alias": {
3162
- "dev-master": "7.4-dev"
3163
  }
3164
  },
3165
  "autoload": {
@@ -3225,7 +3229,7 @@
3225
  ],
3226
  "support": {
3227
  "issues": "https://github.com/guzzle/guzzle/issues",
3228
- "source": "https://github.com/guzzle/guzzle/tree/7.4.5"
3229
  },
3230
  "funding": [
3231
  {
@@ -3241,20 +3245,20 @@
3241
  "type": "tidelift"
3242
  }
3243
  ],
3244
- "time": "2022-06-20T22:16:13+00:00"
3245
  },
3246
  {
3247
  "name": "guzzlehttp/promises",
3248
- "version": "1.5.1",
3249
  "source": {
3250
  "type": "git",
3251
  "url": "https://github.com/guzzle/promises.git",
3252
- "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
3253
  },
3254
  "dist": {
3255
  "type": "zip",
3256
- "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
3257
- "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
3258
  "shasum": ""
3259
  },
3260
  "require": {
@@ -3309,7 +3313,7 @@
3309
  ],
3310
  "support": {
3311
  "issues": "https://github.com/guzzle/promises/issues",
3312
- "source": "https://github.com/guzzle/promises/tree/1.5.1"
3313
  },
3314
  "funding": [
3315
  {
@@ -3325,20 +3329,20 @@
3325
  "type": "tidelift"
3326
  }
3327
  ],
3328
- "time": "2021-10-22T20:56:57+00:00"
3329
  },
3330
  {
3331
  "name": "guzzlehttp/psr7",
3332
- "version": "2.4.0",
3333
  "source": {
3334
  "type": "git",
3335
  "url": "https://github.com/guzzle/psr7.git",
3336
- "reference": "13388f00956b1503577598873fffb5ae994b5737"
3337
  },
3338
  "dist": {
3339
  "type": "zip",
3340
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/13388f00956b1503577598873fffb5ae994b5737",
3341
- "reference": "13388f00956b1503577598873fffb5ae994b5737",
3342
  "shasum": ""
3343
  },
3344
  "require": {
@@ -3352,15 +3356,19 @@
3352
  "psr/http-message-implementation": "1.0"
3353
  },
3354
  "require-dev": {
3355
- "bamarni/composer-bin-plugin": "^1.4.1",
3356
  "http-interop/http-factory-tests": "^0.9",
3357
- "phpunit/phpunit": "^8.5.8 || ^9.3.10"
3358
  },
3359
  "suggest": {
3360
  "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
3361
  },
3362
  "type": "library",
3363
  "extra": {
 
 
 
 
3364
  "branch-alias": {
3365
  "dev-master": "2.4-dev"
3366
  }
@@ -3424,7 +3432,7 @@
3424
  ],
3425
  "support": {
3426
  "issues": "https://github.com/guzzle/psr7/issues",
3427
- "source": "https://github.com/guzzle/psr7/tree/2.4.0"
3428
  },
3429
  "funding": [
3430
  {
@@ -3440,11 +3448,11 @@
3440
  "type": "tidelift"
3441
  }
3442
  ],
3443
- "time": "2022-06-20T21:43:11+00:00"
3444
  },
3445
  {
3446
  "name": "illuminate/collections",
3447
- "version": "v8.83.19",
3448
  "source": {
3449
  "type": "git",
3450
  "url": "https://github.com/illuminate/collections.git",
@@ -3498,7 +3506,7 @@
3498
  },
3499
  {
3500
  "name": "illuminate/contracts",
3501
- "version": "v8.83.19",
3502
  "source": {
3503
  "type": "git",
3504
  "url": "https://github.com/illuminate/contracts.git",
@@ -3546,7 +3554,7 @@
3546
  },
3547
  {
3548
  "name": "illuminate/macroable",
3549
- "version": "v8.83.19",
3550
  "source": {
3551
  "type": "git",
3552
  "url": "https://github.com/illuminate/macroable.git",
@@ -3592,16 +3600,16 @@
3592
  },
3593
  {
3594
  "name": "illuminate/support",
3595
- "version": "v8.83.19",
3596
  "source": {
3597
  "type": "git",
3598
  "url": "https://github.com/illuminate/support.git",
3599
- "reference": "c3d643e77082786ae8a51502c757e9b1a3ee254e"
3600
  },
3601
  "dist": {
3602
  "type": "zip",
3603
- "url": "https://api.github.com/repos/illuminate/support/zipball/c3d643e77082786ae8a51502c757e9b1a3ee254e",
3604
- "reference": "c3d643e77082786ae8a51502c757e9b1a3ee254e",
3605
  "shasum": ""
3606
  },
3607
  "require": {
@@ -3656,7 +3664,7 @@
3656
  "issues": "https://github.com/laravel/framework/issues",
3657
  "source": "https://github.com/laravel/framework"
3658
  },
3659
- "time": "2022-06-27T13:26:30+00:00"
3660
  },
3661
  {
3662
  "name": "justinrainbow/json-schema",
@@ -3917,16 +3925,16 @@
3917
  },
3918
  {
3919
  "name": "mck89/peast",
3920
- "version": "v1.14.0",
3921
  "source": {
3922
  "type": "git",
3923
  "url": "https://github.com/mck89/peast.git",
3924
- "reference": "70a728d598017e237118652b2fa30fbaa9d4ef6d"
3925
  },
3926
  "dist": {
3927
  "type": "zip",
3928
- "url": "https://api.github.com/repos/mck89/peast/zipball/70a728d598017e237118652b2fa30fbaa9d4ef6d",
3929
- "reference": "70a728d598017e237118652b2fa30fbaa9d4ef6d",
3930
  "shasum": ""
3931
  },
3932
  "require": {
@@ -3939,7 +3947,7 @@
3939
  "type": "library",
3940
  "extra": {
3941
  "branch-alias": {
3942
- "dev-master": "1.14.0-dev"
3943
  }
3944
  },
3945
  "autoload": {
@@ -3961,9 +3969,9 @@
3961
  "description": "Peast is PHP library that generates AST for JavaScript code",
3962
  "support": {
3963
  "issues": "https://github.com/mck89/peast/issues",
3964
- "source": "https://github.com/mck89/peast/tree/v1.14.0"
3965
  },
3966
- "time": "2022-05-01T15:09:54+00:00"
3967
  },
3968
  {
3969
  "name": "mikehaertl/php-shellcommand",
@@ -4078,16 +4086,16 @@
4078
  },
4079
  {
4080
  "name": "mustache/mustache",
4081
- "version": "v2.14.1",
4082
  "source": {
4083
  "type": "git",
4084
  "url": "https://github.com/bobthecow/mustache.php.git",
4085
- "reference": "579ffa5c96e1d292c060b3dd62811ff01ad8c24e"
4086
  },
4087
  "dist": {
4088
  "type": "zip",
4089
- "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/579ffa5c96e1d292c060b3dd62811ff01ad8c24e",
4090
- "reference": "579ffa5c96e1d292c060b3dd62811ff01ad8c24e",
4091
  "shasum": ""
4092
  },
4093
  "require": {
@@ -4122,9 +4130,9 @@
4122
  ],
4123
  "support": {
4124
  "issues": "https://github.com/bobthecow/mustache.php/issues",
4125
- "source": "https://github.com/bobthecow/mustache.php/tree/v2.14.1"
4126
  },
4127
- "time": "2022-01-21T06:08:36+00:00"
4128
  },
4129
  {
4130
  "name": "myclabs/deep-copy",
@@ -4300,16 +4308,16 @@
4300
  },
4301
  {
4302
  "name": "nesbot/carbon",
4303
- "version": "2.59.1",
4304
  "source": {
4305
  "type": "git",
4306
  "url": "https://github.com/briannesbitt/Carbon.git",
4307
- "reference": "a9000603ea337c8df16cc41f8b6be95a65f4d0f5"
4308
  },
4309
  "dist": {
4310
  "type": "zip",
4311
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/a9000603ea337c8df16cc41f8b6be95a65f4d0f5",
4312
- "reference": "a9000603ea337c8df16cc41f8b6be95a65f4d0f5",
4313
  "shasum": ""
4314
  },
4315
  "require": {
@@ -4398,7 +4406,7 @@
4398
  "type": "tidelift"
4399
  }
4400
  ],
4401
- "time": "2022-06-29T21:43:55+00:00"
4402
  },
4403
  {
4404
  "name": "netresearch/jsonmapper",
@@ -4453,16 +4461,16 @@
4453
  },
4454
  {
4455
  "name": "nikic/php-parser",
4456
- "version": "v4.14.0",
4457
  "source": {
4458
  "type": "git",
4459
  "url": "https://github.com/nikic/PHP-Parser.git",
4460
- "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1"
4461
  },
4462
  "dist": {
4463
  "type": "zip",
4464
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1",
4465
- "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1",
4466
  "shasum": ""
4467
  },
4468
  "require": {
@@ -4503,9 +4511,9 @@
4503
  ],
4504
  "support": {
4505
  "issues": "https://github.com/nikic/PHP-Parser/issues",
4506
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0"
4507
  },
4508
- "time": "2022-05-31T20:59:12+00:00"
4509
  },
4510
  {
4511
  "name": "openlss/lib-array2xml",
@@ -4632,16 +4640,16 @@
4632
  },
4633
  {
4634
  "name": "pdepend/pdepend",
4635
- "version": "2.10.3",
4636
  "source": {
4637
  "type": "git",
4638
  "url": "https://github.com/pdepend/pdepend.git",
4639
- "reference": "da3166a06b4a89915920a42444f707122a1584c9"
4640
  },
4641
  "dist": {
4642
  "type": "zip",
4643
- "url": "https://api.github.com/repos/pdepend/pdepend/zipball/da3166a06b4a89915920a42444f707122a1584c9",
4644
- "reference": "da3166a06b4a89915920a42444f707122a1584c9",
4645
  "shasum": ""
4646
  },
4647
  "require": {
@@ -4677,7 +4685,7 @@
4677
  "description": "Official version of pdepend to be handled with Composer",
4678
  "support": {
4679
  "issues": "https://github.com/pdepend/pdepend/issues",
4680
- "source": "https://github.com/pdepend/pdepend/tree/2.10.3"
4681
  },
4682
  "funding": [
4683
  {
@@ -4685,7 +4693,7 @@
4685
  "type": "tidelift"
4686
  }
4687
  ],
4688
- "time": "2022-02-23T07:53:09+00:00"
4689
  },
4690
  {
4691
  "name": "permafrost-dev/ray-cli",
@@ -4848,70 +4856,18 @@
4848
  },
4849
  "time": "2018-07-08T19:19:57+00:00"
4850
  },
4851
- {
4852
- "name": "php-cs-fixer/diff",
4853
- "version": "v2.0.2",
4854
- "source": {
4855
- "type": "git",
4856
- "url": "https://github.com/PHP-CS-Fixer/diff.git",
4857
- "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3"
4858
- },
4859
- "dist": {
4860
- "type": "zip",
4861
- "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/29dc0d507e838c4580d018bd8b5cb412474f7ec3",
4862
- "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3",
4863
- "shasum": ""
4864
- },
4865
- "require": {
4866
- "php": "^5.6 || ^7.0 || ^8.0"
4867
- },
4868
- "require-dev": {
4869
- "phpunit/phpunit": "^5.7.23 || ^6.4.3 || ^7.0",
4870
- "symfony/process": "^3.3"
4871
- },
4872
- "type": "library",
4873
- "autoload": {
4874
- "classmap": [
4875
- "src/"
4876
- ]
4877
- },
4878
- "notification-url": "https://packagist.org/downloads/",
4879
- "license": [
4880
- "BSD-3-Clause"
4881
- ],
4882
- "authors": [
4883
- {
4884
- "name": "Sebastian Bergmann",
4885
- "email": "sebastian@phpunit.de"
4886
- },
4887
- {
4888
- "name": "Kore Nordmann",
4889
- "email": "mail@kore-nordmann.de"
4890
- }
4891
- ],
4892
- "description": "sebastian/diff v3 backport support for PHP 5.6+",
4893
- "homepage": "https://github.com/PHP-CS-Fixer",
4894
- "keywords": [
4895
- "diff"
4896
- ],
4897
- "support": {
4898
- "issues": "https://github.com/PHP-CS-Fixer/diff/issues",
4899
- "source": "https://github.com/PHP-CS-Fixer/diff/tree/v2.0.2"
4900
- },
4901
- "time": "2020-10-14T08:32:19+00:00"
4902
- },
4903
  {
4904
  "name": "php-webdriver/webdriver",
4905
- "version": "1.12.1",
4906
  "source": {
4907
  "type": "git",
4908
  "url": "https://github.com/php-webdriver/php-webdriver.git",
4909
- "reference": "b27ddf458d273c7d4602106fcaf978aa0b7fe15a"
4910
  },
4911
  "dist": {
4912
  "type": "zip",
4913
- "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/b27ddf458d273c7d4602106fcaf978aa0b7fe15a",
4914
- "reference": "b27ddf458d273c7d4602106fcaf978aa0b7fe15a",
4915
  "shasum": ""
4916
  },
4917
  "require": {
@@ -4961,9 +4917,9 @@
4961
  ],
4962
  "support": {
4963
  "issues": "https://github.com/php-webdriver/php-webdriver/issues",
4964
- "source": "https://github.com/php-webdriver/php-webdriver/tree/1.12.1"
4965
  },
4966
- "time": "2022-05-03T12:16:34+00:00"
4967
  },
4968
  {
4969
  "name": "phpcompatibility/php-compatibility",
@@ -5139,25 +5095,30 @@
5139
  },
5140
  {
5141
  "name": "phpdocumentor/type-resolver",
5142
- "version": "1.6.1",
5143
  "source": {
5144
  "type": "git",
5145
  "url": "https://github.com/phpDocumentor/TypeResolver.git",
5146
- "reference": "77a32518733312af16a44300404e945338981de3"
5147
  },
5148
  "dist": {
5149
  "type": "zip",
5150
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
5151
- "reference": "77a32518733312af16a44300404e945338981de3",
5152
  "shasum": ""
5153
  },
5154
  "require": {
5155
- "php": "^7.2 || ^8.0",
5156
  "phpdocumentor/reflection-common": "^2.0"
5157
  },
5158
  "require-dev": {
5159
  "ext-tokenizer": "*",
5160
- "psalm/phar": "^4.8"
 
 
 
 
 
5161
  },
5162
  "type": "library",
5163
  "extra": {
@@ -5183,28 +5144,28 @@
5183
  "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
5184
  "support": {
5185
  "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
5186
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1"
5187
  },
5188
- "time": "2022-03-15T21:29:03+00:00"
5189
  },
5190
  {
5191
  "name": "phpmd/phpmd",
5192
- "version": "2.12.0",
5193
  "source": {
5194
  "type": "git",
5195
  "url": "https://github.com/phpmd/phpmd.git",
5196
- "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec"
5197
  },
5198
  "dist": {
5199
  "type": "zip",
5200
- "url": "https://api.github.com/repos/phpmd/phpmd/zipball/c0b678ba71902f539c27c14332aa0ddcf14388ec",
5201
- "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec",
5202
  "shasum": ""
5203
  },
5204
  "require": {
5205
  "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0",
5206
  "ext-xml": "*",
5207
- "pdepend/pdepend": "^2.10.3",
5208
  "php": ">=5.3.9"
5209
  },
5210
  "require-dev": {
@@ -5260,7 +5221,7 @@
5260
  "support": {
5261
  "irc": "irc://irc.freenode.org/phpmd",
5262
  "issues": "https://github.com/phpmd/phpmd/issues",
5263
- "source": "https://github.com/phpmd/phpmd/tree/2.12.0"
5264
  },
5265
  "funding": [
5266
  {
@@ -5268,7 +5229,7 @@
5268
  "type": "tidelift"
5269
  }
5270
  ],
5271
- "time": "2022-03-24T13:33:01+00:00"
5272
  },
5273
  {
5274
  "name": "phpspec/prophecy",
@@ -5339,16 +5300,16 @@
5339
  },
5340
  {
5341
  "name": "phpstan/phpstan",
5342
- "version": "1.8.1",
5343
  "source": {
5344
  "type": "git",
5345
  "url": "https://github.com/phpstan/phpstan.git",
5346
- "reference": "8dbba631fa32f4b289404469c2afd6122fd61d67"
5347
  },
5348
  "dist": {
5349
  "type": "zip",
5350
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8dbba631fa32f4b289404469c2afd6122fd61d67",
5351
- "reference": "8dbba631fa32f4b289404469c2afd6122fd61d67",
5352
  "shasum": ""
5353
  },
5354
  "require": {
@@ -5372,9 +5333,13 @@
5372
  "MIT"
5373
  ],
5374
  "description": "PHPStan - PHP Static Analysis Tool",
 
 
 
 
5375
  "support": {
5376
  "issues": "https://github.com/phpstan/phpstan/issues",
5377
- "source": "https://github.com/phpstan/phpstan/tree/1.8.1"
5378
  },
5379
  "funding": [
5380
  {
@@ -5385,16 +5350,12 @@
5385
  "url": "https://github.com/phpstan",
5386
  "type": "github"
5387
  },
5388
- {
5389
- "url": "https://www.patreon.com/phpstan",
5390
- "type": "patreon"
5391
- },
5392
  {
5393
  "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
5394
  "type": "tidelift"
5395
  }
5396
  ],
5397
- "time": "2022-07-12T16:08:06+00:00"
5398
  },
5399
  {
5400
  "name": "phpunit/php-code-coverage",
@@ -6784,16 +6745,16 @@
6784
  },
6785
  {
6786
  "name": "sebastian/comparator",
6787
- "version": "4.0.6",
6788
  "source": {
6789
  "type": "git",
6790
  "url": "https://github.com/sebastianbergmann/comparator.git",
6791
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
6792
  },
6793
  "dist": {
6794
  "type": "zip",
6795
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
6796
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
6797
  "shasum": ""
6798
  },
6799
  "require": {
@@ -6846,7 +6807,7 @@
6846
  ],
6847
  "support": {
6848
  "issues": "https://github.com/sebastianbergmann/comparator/issues",
6849
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
6850
  },
6851
  "funding": [
6852
  {
@@ -6854,7 +6815,7 @@
6854
  "type": "github"
6855
  }
6856
  ],
6857
- "time": "2020-10-26T15:49:45+00:00"
6858
  },
6859
  {
6860
  "name": "sebastian/diff",
@@ -6987,16 +6948,16 @@
6987
  },
6988
  {
6989
  "name": "sebastian/exporter",
6990
- "version": "4.0.4",
6991
  "source": {
6992
  "type": "git",
6993
  "url": "https://github.com/sebastianbergmann/exporter.git",
6994
- "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
6995
  },
6996
  "dist": {
6997
  "type": "zip",
6998
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
6999
- "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
7000
  "shasum": ""
7001
  },
7002
  "require": {
@@ -7052,7 +7013,7 @@
7052
  ],
7053
  "support": {
7054
  "issues": "https://github.com/sebastianbergmann/exporter/issues",
7055
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
7056
  },
7057
  "funding": [
7058
  {
@@ -7060,7 +7021,7 @@
7060
  "type": "github"
7061
  }
7062
  ],
7063
- "time": "2021-11-11T14:18:36+00:00"
7064
  },
7065
  {
7066
  "name": "sebastian/finder-facade",
@@ -7567,28 +7528,29 @@
7567
  },
7568
  {
7569
  "name": "sirbrillig/phpcs-variable-analysis",
7570
- "version": "v2.11.3",
7571
  "source": {
7572
  "type": "git",
7573
  "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git",
7574
- "reference": "c921498b474212fe4552928bbeb68d70250ce5e8"
7575
  },
7576
  "dist": {
7577
  "type": "zip",
7578
- "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/c921498b474212fe4552928bbeb68d70250ce5e8",
7579
- "reference": "c921498b474212fe4552928bbeb68d70250ce5e8",
7580
  "shasum": ""
7581
  },
7582
  "require": {
7583
  "php": ">=5.4.0",
7584
- "squizlabs/php_codesniffer": "^3.5"
7585
  },
7586
  "require-dev": {
7587
  "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
7588
- "limedeck/phpunit-detailed-printer": "^3.1 || ^4.0 || ^5.0",
7589
- "phpstan/phpstan": "^0.11.8",
7590
- "phpunit/phpunit": "^5.0 || ^6.5 || ^7.0 || ^8.0",
7591
- "sirbrillig/phpcs-import-detection": "^1.1"
 
7592
  },
7593
  "type": "phpcodesniffer-standard",
7594
  "autoload": {
@@ -7611,37 +7573,41 @@
7611
  }
7612
  ],
7613
  "description": "A PHPCS sniff to detect problems with variables.",
 
 
 
 
7614
  "support": {
7615
  "issues": "https://github.com/sirbrillig/phpcs-variable-analysis/issues",
7616
  "source": "https://github.com/sirbrillig/phpcs-variable-analysis",
7617
  "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki"
7618
  },
7619
- "time": "2022-02-21T17:01:13+00:00"
7620
  },
7621
  {
7622
  "name": "softcreatr/jsonpath",
7623
- "version": "0.7.5",
7624
  "source": {
7625
  "type": "git",
7626
  "url": "https://github.com/SoftCreatR/JSONPath.git",
7627
- "reference": "008569bf80aa3584834f7890781576bc7b65afa7"
7628
  },
7629
  "dist": {
7630
  "type": "zip",
7631
- "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/008569bf80aa3584834f7890781576bc7b65afa7",
7632
- "reference": "008569bf80aa3584834f7890781576bc7b65afa7",
7633
  "shasum": ""
7634
  },
7635
  "require": {
7636
  "ext-json": "*",
7637
- "php": ">=7.1"
7638
  },
7639
  "replace": {
7640
  "flow/jsonpath": "*"
7641
  },
7642
  "require-dev": {
7643
  "phpunit/phpunit": ">=7.0",
7644
- "roave/security-advisories": "dev-master",
7645
  "squizlabs/php_codesniffer": "^3.5"
7646
  },
7647
  "type": "library",
@@ -7664,7 +7630,7 @@
7664
  {
7665
  "name": "Sascha Greuel",
7666
  "email": "hello@1-2.dev",
7667
- "homepage": "http://1-2.dev",
7668
  "role": "Developer"
7669
  }
7670
  ],
@@ -7676,12 +7642,16 @@
7676
  "source": "https://github.com/SoftCreatR/JSONPath"
7677
  },
7678
  "funding": [
 
 
 
 
7679
  {
7680
  "url": "https://github.com/softcreatr",
7681
  "type": "github"
7682
  }
7683
  ],
7684
- "time": "2021-06-02T22:15:26+00:00"
7685
  },
7686
  {
7687
  "name": "spatie/backtrace",
@@ -7797,16 +7767,16 @@
7797
  },
7798
  {
7799
  "name": "spatie/ray",
7800
- "version": "1.34.5",
7801
  "source": {
7802
  "type": "git",
7803
  "url": "https://github.com/spatie/ray.git",
7804
- "reference": "2d64ea264eecbdc7ec01e4e8b45978cae80815d2"
7805
  },
7806
  "dist": {
7807
  "type": "zip",
7808
- "url": "https://api.github.com/repos/spatie/ray/zipball/2d64ea264eecbdc7ec01e4e8b45978cae80815d2",
7809
- "reference": "2d64ea264eecbdc7ec01e4e8b45978cae80815d2",
7810
  "shasum": ""
7811
  },
7812
  "require": {
@@ -7856,7 +7826,7 @@
7856
  ],
7857
  "support": {
7858
  "issues": "https://github.com/spatie/ray/issues",
7859
- "source": "https://github.com/spatie/ray/tree/1.34.5"
7860
  },
7861
  "funding": [
7862
  {
@@ -7868,7 +7838,7 @@
7868
  "type": "other"
7869
  }
7870
  ],
7871
- "time": "2022-06-03T12:32:57+00:00"
7872
  },
7873
  {
7874
  "name": "spatie/wordpress-ray",
@@ -8006,16 +7976,16 @@
8006
  },
8007
  {
8008
  "name": "symfony/browser-kit",
8009
- "version": "v5.4.3",
8010
  "source": {
8011
  "type": "git",
8012
  "url": "https://github.com/symfony/browser-kit.git",
8013
- "reference": "18e73179c6a33d520de1b644941eba108dd811ad"
8014
  },
8015
  "dist": {
8016
  "type": "zip",
8017
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/18e73179c6a33d520de1b644941eba108dd811ad",
8018
- "reference": "18e73179c6a33d520de1b644941eba108dd811ad",
8019
  "shasum": ""
8020
  },
8021
  "require": {
@@ -8058,7 +8028,7 @@
8058
  "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
8059
  "homepage": "https://symfony.com",
8060
  "support": {
8061
- "source": "https://github.com/symfony/browser-kit/tree/v5.4.3"
8062
  },
8063
  "funding": [
8064
  {
@@ -8074,20 +8044,20 @@
8074
  "type": "tidelift"
8075
  }
8076
  ],
8077
- "time": "2022-01-02T09:53:40+00:00"
8078
  },
8079
  {
8080
  "name": "symfony/config",
8081
- "version": "v5.4.9",
8082
  "source": {
8083
  "type": "git",
8084
  "url": "https://github.com/symfony/config.git",
8085
- "reference": "8f551fe22672ac7ab2c95fe46d899f960ed4d979"
8086
  },
8087
  "dist": {
8088
  "type": "zip",
8089
- "url": "https://api.github.com/repos/symfony/config/zipball/8f551fe22672ac7ab2c95fe46d899f960ed4d979",
8090
- "reference": "8f551fe22672ac7ab2c95fe46d899f960ed4d979",
8091
  "shasum": ""
8092
  },
8093
  "require": {
@@ -8137,7 +8107,7 @@
8137
  "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
8138
  "homepage": "https://symfony.com",
8139
  "support": {
8140
- "source": "https://github.com/symfony/config/tree/v5.4.9"
8141
  },
8142
  "funding": [
8143
  {
@@ -8153,20 +8123,20 @@
8153
  "type": "tidelift"
8154
  }
8155
  ],
8156
- "time": "2022-05-17T10:39:36+00:00"
8157
  },
8158
  {
8159
  "name": "symfony/console",
8160
- "version": "v5.4.10",
8161
  "source": {
8162
  "type": "git",
8163
  "url": "https://github.com/symfony/console.git",
8164
- "reference": "4d671ab4ddac94ee439ea73649c69d9d200b5000"
8165
  },
8166
  "dist": {
8167
  "type": "zip",
8168
- "url": "https://api.github.com/repos/symfony/console/zipball/4d671ab4ddac94ee439ea73649c69d9d200b5000",
8169
- "reference": "4d671ab4ddac94ee439ea73649c69d9d200b5000",
8170
  "shasum": ""
8171
  },
8172
  "require": {
@@ -8236,7 +8206,7 @@
8236
  "terminal"
8237
  ],
8238
  "support": {
8239
- "source": "https://github.com/symfony/console/tree/v5.4.10"
8240
  },
8241
  "funding": [
8242
  {
@@ -8252,20 +8222,20 @@
8252
  "type": "tidelift"
8253
  }
8254
  ],
8255
- "time": "2022-06-26T13:00:04+00:00"
8256
  },
8257
  {
8258
  "name": "symfony/css-selector",
8259
- "version": "v5.4.3",
8260
  "source": {
8261
  "type": "git",
8262
  "url": "https://github.com/symfony/css-selector.git",
8263
- "reference": "b0a190285cd95cb019237851205b8140ef6e368e"
8264
  },
8265
  "dist": {
8266
  "type": "zip",
8267
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/b0a190285cd95cb019237851205b8140ef6e368e",
8268
- "reference": "b0a190285cd95cb019237851205b8140ef6e368e",
8269
  "shasum": ""
8270
  },
8271
  "require": {
@@ -8302,7 +8272,7 @@
8302
  "description": "Converts CSS selectors to XPath expressions",
8303
  "homepage": "https://symfony.com",
8304
  "support": {
8305
- "source": "https://github.com/symfony/css-selector/tree/v5.4.3"
8306
  },
8307
  "funding": [
8308
  {
@@ -8318,20 +8288,20 @@
8318
  "type": "tidelift"
8319
  }
8320
  ],
8321
- "time": "2022-01-02T09:53:40+00:00"
8322
  },
8323
  {
8324
  "name": "symfony/dependency-injection",
8325
- "version": "v5.4.10",
8326
  "source": {
8327
  "type": "git",
8328
  "url": "https://github.com/symfony/dependency-injection.git",
8329
- "reference": "88d1c0d38c2e60f757fa11d89cfc885f0b7f5171"
8330
  },
8331
  "dist": {
8332
  "type": "zip",
8333
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/88d1c0d38c2e60f757fa11d89cfc885f0b7f5171",
8334
- "reference": "88d1c0d38c2e60f757fa11d89cfc885f0b7f5171",
8335
  "shasum": ""
8336
  },
8337
  "require": {
@@ -8391,7 +8361,7 @@
8391
  "description": "Allows you to standardize and centralize the way objects are constructed in your application",
8392
  "homepage": "https://symfony.com",
8393
  "support": {
8394
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.10"
8395
  },
8396
  "funding": [
8397
  {
@@ -8407,7 +8377,7 @@
8407
  "type": "tidelift"
8408
  }
8409
  ],
8410
- "time": "2022-06-26T13:00:04+00:00"
8411
  },
8412
  {
8413
  "name": "symfony/deprecation-contracts",
@@ -8478,16 +8448,16 @@
8478
  },
8479
  {
8480
  "name": "symfony/dom-crawler",
8481
- "version": "v5.4.9",
8482
  "source": {
8483
  "type": "git",
8484
  "url": "https://github.com/symfony/dom-crawler.git",
8485
- "reference": "a213cbc80382320b0efdccdcdce232f191fafe3a"
8486
  },
8487
  "dist": {
8488
  "type": "zip",
8489
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/a213cbc80382320b0efdccdcdce232f191fafe3a",
8490
- "reference": "a213cbc80382320b0efdccdcdce232f191fafe3a",
8491
  "shasum": ""
8492
  },
8493
  "require": {
@@ -8533,7 +8503,7 @@
8533
  "description": "Eases DOM navigation for HTML and XML documents",
8534
  "homepage": "https://symfony.com",
8535
  "support": {
8536
- "source": "https://github.com/symfony/dom-crawler/tree/v5.4.9"
8537
  },
8538
  "funding": [
8539
  {
@@ -8549,7 +8519,7 @@
8549
  "type": "tidelift"
8550
  }
8551
  ],
8552
- "time": "2022-05-04T14:46:32+00:00"
8553
  },
8554
  {
8555
  "name": "symfony/event-dispatcher",
@@ -8717,16 +8687,16 @@
8717
  },
8718
  {
8719
  "name": "symfony/filesystem",
8720
- "version": "v5.4.9",
8721
  "source": {
8722
  "type": "git",
8723
  "url": "https://github.com/symfony/filesystem.git",
8724
- "reference": "36a017fa4cce1eff1b8e8129ff53513abcef05ba"
8725
  },
8726
  "dist": {
8727
  "type": "zip",
8728
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/36a017fa4cce1eff1b8e8129ff53513abcef05ba",
8729
- "reference": "36a017fa4cce1eff1b8e8129ff53513abcef05ba",
8730
  "shasum": ""
8731
  },
8732
  "require": {
@@ -8761,7 +8731,7 @@
8761
  "description": "Provides basic utilities for the filesystem",
8762
  "homepage": "https://symfony.com",
8763
  "support": {
8764
- "source": "https://github.com/symfony/filesystem/tree/v5.4.9"
8765
  },
8766
  "funding": [
8767
  {
@@ -8777,20 +8747,20 @@
8777
  "type": "tidelift"
8778
  }
8779
  ],
8780
- "time": "2022-05-20T13:55:35+00:00"
8781
  },
8782
  {
8783
  "name": "symfony/finder",
8784
- "version": "v5.4.8",
8785
  "source": {
8786
  "type": "git",
8787
  "url": "https://github.com/symfony/finder.git",
8788
- "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9"
8789
  },
8790
  "dist": {
8791
  "type": "zip",
8792
- "url": "https://api.github.com/repos/symfony/finder/zipball/9b630f3427f3ebe7cd346c277a1408b00249dad9",
8793
- "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9",
8794
  "shasum": ""
8795
  },
8796
  "require": {
@@ -8824,7 +8794,7 @@
8824
  "description": "Finds files and directories via an intuitive fluent interface",
8825
  "homepage": "https://symfony.com",
8826
  "support": {
8827
- "source": "https://github.com/symfony/finder/tree/v5.4.8"
8828
  },
8829
  "funding": [
8830
  {
@@ -8840,20 +8810,20 @@
8840
  "type": "tidelift"
8841
  }
8842
  ],
8843
- "time": "2022-04-15T08:07:45+00:00"
8844
  },
8845
  {
8846
  "name": "symfony/options-resolver",
8847
- "version": "v5.4.3",
8848
  "source": {
8849
  "type": "git",
8850
  "url": "https://github.com/symfony/options-resolver.git",
8851
- "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8"
8852
  },
8853
  "dist": {
8854
  "type": "zip",
8855
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/cc1147cb11af1b43f503ac18f31aa3bec213aba8",
8856
- "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8",
8857
  "shasum": ""
8858
  },
8859
  "require": {
@@ -8893,7 +8863,7 @@
8893
  "options"
8894
  ],
8895
  "support": {
8896
- "source": "https://github.com/symfony/options-resolver/tree/v5.4.3"
8897
  },
8898
  "funding": [
8899
  {
@@ -8909,7 +8879,7 @@
8909
  "type": "tidelift"
8910
  }
8911
  ],
8912
- "time": "2022-01-02T09:53:40+00:00"
8913
  },
8914
  {
8915
  "name": "symfony/polyfill-ctype",
@@ -9484,16 +9454,16 @@
9484
  },
9485
  {
9486
  "name": "symfony/process",
9487
- "version": "v5.4.8",
9488
  "source": {
9489
  "type": "git",
9490
  "url": "https://github.com/symfony/process.git",
9491
- "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3"
9492
  },
9493
  "dist": {
9494
  "type": "zip",
9495
- "url": "https://api.github.com/repos/symfony/process/zipball/597f3fff8e3e91836bb0bd38f5718b56ddbde2f3",
9496
- "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3",
9497
  "shasum": ""
9498
  },
9499
  "require": {
@@ -9526,7 +9496,7 @@
9526
  "description": "Executes commands in sub-processes",
9527
  "homepage": "https://symfony.com",
9528
  "support": {
9529
- "source": "https://github.com/symfony/process/tree/v5.4.8"
9530
  },
9531
  "funding": [
9532
  {
@@ -9542,7 +9512,7 @@
9542
  "type": "tidelift"
9543
  }
9544
  ],
9545
- "time": "2022-04-08T05:07:18+00:00"
9546
  },
9547
  {
9548
  "name": "symfony/service-contracts",
@@ -9629,16 +9599,16 @@
9629
  },
9630
  {
9631
  "name": "symfony/stopwatch",
9632
- "version": "v5.4.5",
9633
  "source": {
9634
  "type": "git",
9635
  "url": "https://github.com/symfony/stopwatch.git",
9636
- "reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30"
9637
  },
9638
  "dist": {
9639
  "type": "zip",
9640
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
9641
- "reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
9642
  "shasum": ""
9643
  },
9644
  "require": {
@@ -9671,7 +9641,7 @@
9671
  "description": "Provides a way to profile code",
9672
  "homepage": "https://symfony.com",
9673
  "support": {
9674
- "source": "https://github.com/symfony/stopwatch/tree/v5.4.5"
9675
  },
9676
  "funding": [
9677
  {
@@ -9687,20 +9657,20 @@
9687
  "type": "tidelift"
9688
  }
9689
  ],
9690
- "time": "2022-02-18T16:06:09+00:00"
9691
  },
9692
  {
9693
  "name": "symfony/string",
9694
- "version": "v5.4.10",
9695
  "source": {
9696
  "type": "git",
9697
  "url": "https://github.com/symfony/string.git",
9698
- "reference": "4432bc7df82a554b3e413a8570ce2fea90e94097"
9699
  },
9700
  "dist": {
9701
  "type": "zip",
9702
- "url": "https://api.github.com/repos/symfony/string/zipball/4432bc7df82a554b3e413a8570ce2fea90e94097",
9703
- "reference": "4432bc7df82a554b3e413a8570ce2fea90e94097",
9704
  "shasum": ""
9705
  },
9706
  "require": {
@@ -9757,7 +9727,7 @@
9757
  "utf8"
9758
  ],
9759
  "support": {
9760
- "source": "https://github.com/symfony/string/tree/v5.4.10"
9761
  },
9762
  "funding": [
9763
  {
@@ -9773,20 +9743,20 @@
9773
  "type": "tidelift"
9774
  }
9775
  ],
9776
- "time": "2022-06-26T15:57:47+00:00"
9777
  },
9778
  {
9779
  "name": "symfony/translation",
9780
- "version": "v5.4.9",
9781
  "source": {
9782
  "type": "git",
9783
  "url": "https://github.com/symfony/translation.git",
9784
- "reference": "1639abc1177d26bcd4320e535e664cef067ab0ca"
9785
  },
9786
  "dist": {
9787
  "type": "zip",
9788
- "url": "https://api.github.com/repos/symfony/translation/zipball/1639abc1177d26bcd4320e535e664cef067ab0ca",
9789
- "reference": "1639abc1177d26bcd4320e535e664cef067ab0ca",
9790
  "shasum": ""
9791
  },
9792
  "require": {
@@ -9854,7 +9824,7 @@
9854
  "description": "Provides tools to internationalize your application",
9855
  "homepage": "https://symfony.com",
9856
  "support": {
9857
- "source": "https://github.com/symfony/translation/tree/v5.4.9"
9858
  },
9859
  "funding": [
9860
  {
@@ -9870,7 +9840,7 @@
9870
  "type": "tidelift"
9871
  }
9872
  ],
9873
- "time": "2022-05-06T12:33:37+00:00"
9874
  },
9875
  {
9876
  "name": "symfony/translation-contracts",
@@ -9952,16 +9922,16 @@
9952
  },
9953
  {
9954
  "name": "symfony/var-dumper",
9955
- "version": "v5.4.9",
9956
  "source": {
9957
  "type": "git",
9958
  "url": "https://github.com/symfony/var-dumper.git",
9959
- "reference": "af52239a330fafd192c773795520dc2dd62b5657"
9960
  },
9961
  "dist": {
9962
  "type": "zip",
9963
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af52239a330fafd192c773795520dc2dd62b5657",
9964
- "reference": "af52239a330fafd192c773795520dc2dd62b5657",
9965
  "shasum": ""
9966
  },
9967
  "require": {
@@ -10021,7 +9991,7 @@
10021
  "dump"
10022
  ],
10023
  "support": {
10024
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.9"
10025
  },
10026
  "funding": [
10027
  {
@@ -10037,20 +10007,20 @@
10037
  "type": "tidelift"
10038
  }
10039
  ],
10040
- "time": "2022-05-21T10:24:18+00:00"
10041
  },
10042
  {
10043
  "name": "symfony/yaml",
10044
- "version": "v5.4.10",
10045
  "source": {
10046
  "type": "git",
10047
  "url": "https://github.com/symfony/yaml.git",
10048
- "reference": "04e42926429d9e8b39c174387ab990bf7817f7a2"
10049
  },
10050
  "dist": {
10051
  "type": "zip",
10052
- "url": "https://api.github.com/repos/symfony/yaml/zipball/04e42926429d9e8b39c174387ab990bf7817f7a2",
10053
- "reference": "04e42926429d9e8b39c174387ab990bf7817f7a2",
10054
  "shasum": ""
10055
  },
10056
  "require": {
@@ -10096,7 +10066,7 @@
10096
  "description": "Loads and dumps YAML files",
10097
  "homepage": "https://symfony.com",
10098
  "support": {
10099
- "source": "https://github.com/symfony/yaml/tree/v5.4.10"
10100
  },
10101
  "funding": [
10102
  {
@@ -10112,7 +10082,7 @@
10112
  "type": "tidelift"
10113
  }
10114
  ],
10115
- "time": "2022-06-20T11:50:59+00:00"
10116
  },
10117
  {
10118
  "name": "theseer/fdomdocument",
@@ -10214,16 +10184,16 @@
10214
  },
10215
  {
10216
  "name": "vimeo/psalm",
10217
- "version": "4.24.0",
10218
  "source": {
10219
  "type": "git",
10220
  "url": "https://github.com/vimeo/psalm.git",
10221
- "reference": "06dd975cb55d36af80f242561738f16c5f58264f"
10222
  },
10223
  "dist": {
10224
  "type": "zip",
10225
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/06dd975cb55d36af80f242561738f16c5f58264f",
10226
- "reference": "06dd975cb55d36af80f242561738f16c5f58264f",
10227
  "shasum": ""
10228
  },
10229
  "require": {
@@ -10262,6 +10232,7 @@
10262
  "phpdocumentor/reflection-docblock": "^5",
10263
  "phpmyadmin/sql-parser": "5.1.0||dev-master",
10264
  "phpspec/prophecy": ">=1.9.0",
 
10265
  "phpunit/phpunit": "^9.0",
10266
  "psalm/plugin-phpunit": "^0.16",
10267
  "slevomat/coding-standard": "^7.0",
@@ -10315,9 +10286,9 @@
10315
  ],
10316
  "support": {
10317
  "issues": "https://github.com/vimeo/psalm/issues",
10318
- "source": "https://github.com/vimeo/psalm/tree/4.24.0"
10319
  },
10320
- "time": "2022-06-26T11:47:54+00:00"
10321
  },
10322
  {
10323
  "name": "voku/portable-ascii",
@@ -10676,16 +10647,16 @@
10676
  },
10677
  {
10678
  "name": "wp-cli/php-cli-tools",
10679
- "version": "v0.11.14",
10680
  "source": {
10681
  "type": "git",
10682
  "url": "https://github.com/wp-cli/php-cli-tools.git",
10683
- "reference": "f8f340e4a87687549d046e2da516242f7f36c934"
10684
  },
10685
  "dist": {
10686
  "type": "zip",
10687
- "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/f8f340e4a87687549d046e2da516242f7f36c934",
10688
- "reference": "f8f340e4a87687549d046e2da516242f7f36c934",
10689
  "shasum": ""
10690
  },
10691
  "require": {
@@ -10724,22 +10695,22 @@
10724
  ],
10725
  "support": {
10726
  "issues": "https://github.com/wp-cli/php-cli-tools/issues",
10727
- "source": "https://github.com/wp-cli/php-cli-tools/tree/v0.11.14"
10728
  },
10729
- "time": "2022-07-04T21:44:34+00:00"
10730
  },
10731
  {
10732
  "name": "wp-cli/wp-cli",
10733
- "version": "v2.6.0",
10734
  "source": {
10735
  "type": "git",
10736
  "url": "https://github.com/wp-cli/wp-cli.git",
10737
- "reference": "dee13c2baf6bf972484a63f8b8dab48f7220f095"
10738
  },
10739
  "dist": {
10740
  "type": "zip",
10741
- "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/dee13c2baf6bf972484a63f8b8dab48f7220f095",
10742
- "reference": "dee13c2baf6bf972484a63f8b8dab48f7220f095",
10743
  "shasum": ""
10744
  },
10745
  "require": {
@@ -10757,7 +10728,7 @@
10757
  "wp-cli/entity-command": "^1.2 || ^2",
10758
  "wp-cli/extension-command": "^1.1 || ^2",
10759
  "wp-cli/package-command": "^1 || ^2",
10760
- "wp-cli/wp-cli-tests": "^3.1.3"
10761
  },
10762
  "suggest": {
10763
  "ext-readline": "Include for a better --prompt implementation",
@@ -10770,7 +10741,7 @@
10770
  "type": "library",
10771
  "extra": {
10772
  "branch-alias": {
10773
- "dev-master": "2.6.x-dev"
10774
  }
10775
  },
10776
  "autoload": {
@@ -10797,7 +10768,7 @@
10797
  "issues": "https://github.com/wp-cli/wp-cli/issues",
10798
  "source": "https://github.com/wp-cli/wp-cli"
10799
  },
10800
- "time": "2022-01-25T16:31:27+00:00"
10801
  },
10802
  {
10803
  "name": "wp-coding-standards/wpcs",
697
  },
698
  {
699
  "name": "codeception/codeception",
700
+ "version": "4.2.2",
701
  "source": {
702
  "type": "git",
703
  "url": "https://github.com/Codeception/Codeception.git",
704
+ "reference": "b88014f3348c93f3df99dc6d0967b0dbfa804474"
705
  },
706
  "dist": {
707
  "type": "zip",
708
+ "url": "https://api.github.com/repos/Codeception/Codeception/zipball/b88014f3348c93f3df99dc6d0967b0dbfa804474",
709
+ "reference": "b88014f3348c93f3df99dc6d0967b0dbfa804474",
710
  "shasum": ""
711
  },
712
  "require": {
783
  ],
784
  "support": {
785
  "issues": "https://github.com/Codeception/Codeception/issues",
786
+ "source": "https://github.com/Codeception/Codeception/tree/4.2.2"
787
  },
788
  "funding": [
789
  {
791
  "type": "open_collective"
792
  }
793
  ],
794
+ "time": "2022-08-13T13:28:25+00:00"
795
  },
796
  {
797
  "name": "codeception/lib-asserts",
1275
  },
1276
  {
1277
  "name": "codeception/module-webdriver",
1278
+ "version": "1.4.1",
1279
  "source": {
1280
  "type": "git",
1281
  "url": "https://github.com/Codeception/module-webdriver.git",
1282
+ "reference": "e22ac7da756df659df6dd4fac2dff9c859e30131"
1283
  },
1284
  "dist": {
1285
  "type": "zip",
1286
+ "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/e22ac7da756df659df6dd4fac2dff9c859e30131",
1287
+ "reference": "e22ac7da756df659df6dd4fac2dff9c859e30131",
1288
  "shasum": ""
1289
  },
1290
  "require": {
1325
  ],
1326
  "support": {
1327
  "issues": "https://github.com/Codeception/module-webdriver/issues",
1328
+ "source": "https://github.com/Codeception/module-webdriver/tree/1.4.1"
1329
  },
1330
+ "time": "2022-09-12T05:09:51+00:00"
1331
  },
1332
  {
1333
  "name": "codeception/phpunit-wrapper",
1802
  },
1803
  {
1804
  "name": "consolidation/config",
1805
+ "version": "2.1.2",
1806
  "source": {
1807
  "type": "git",
1808
  "url": "https://github.com/consolidation/config.git",
1809
+ "reference": "597f8d7fbeef801736250ec10c3e190569b1b0ae"
1810
  },
1811
  "dist": {
1812
  "type": "zip",
1813
+ "url": "https://api.github.com/repos/consolidation/config/zipball/597f8d7fbeef801736250ec10c3e190569b1b0ae",
1814
+ "reference": "597f8d7fbeef801736250ec10c3e190569b1b0ae",
1815
  "shasum": ""
1816
  },
1817
  "require": {
1818
  "dflydev/dot-access-data": "^1.1.0 || ^2 || ^3",
1819
+ "grasmash/expander": "^2.0.1 || ^3",
1820
  "php": ">=7.1.3",
1821
  "symfony/event-dispatcher": "^4 || ^5 || ^6"
1822
  },
1856
  "description": "Provide configuration services for a commandline tool.",
1857
  "support": {
1858
  "issues": "https://github.com/consolidation/config/issues",
1859
+ "source": "https://github.com/consolidation/config/tree/2.1.2"
1860
  },
1861
+ "time": "2022-10-06T17:48:03+00:00"
1862
  },
1863
  {
1864
  "name": "consolidation/log",
2430
  },
2431
  {
2432
  "name": "doctrine/inflector",
2433
+ "version": "2.0.5",
2434
  "source": {
2435
  "type": "git",
2436
  "url": "https://github.com/doctrine/inflector.git",
2437
+ "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392"
2438
  },
2439
  "dist": {
2440
  "type": "zip",
2441
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/ade2b3bbfb776f27f0558e26eed43b5d9fe1b392",
2442
+ "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392",
2443
  "shasum": ""
2444
  },
2445
  "require": {
2446
  "php": "^7.2 || ^8.0"
2447
  },
2448
  "require-dev": {
2449
+ "doctrine/coding-standard": "^9",
2450
+ "phpstan/phpstan": "^1.8",
2451
+ "phpstan/phpstan-phpunit": "^1.1",
2452
+ "phpstan/phpstan-strict-rules": "^1.3",
2453
+ "phpunit/phpunit": "^8.5 || ^9.5",
2454
+ "vimeo/psalm": "^4.25"
2455
  },
2456
  "type": "library",
2457
  "autoload": {
2501
  ],
2502
  "support": {
2503
  "issues": "https://github.com/doctrine/inflector/issues",
2504
+ "source": "https://github.com/doctrine/inflector/tree/2.0.5"
2505
  },
2506
  "funding": [
2507
  {
2517
  "type": "tidelift"
2518
  }
2519
  ],
2520
+ "time": "2022-09-07T09:01:28+00:00"
2521
  },
2522
  {
2523
  "name": "doctrine/instantiator",
2826
  },
2827
  {
2828
  "name": "friendsofphp/php-cs-fixer",
2829
+ "version": "v3.12.0",
2830
  "source": {
2831
  "type": "git",
2832
  "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
2833
+ "reference": "eae11d945e2885d86e1c080eec1bb30a2aa27998"
2834
  },
2835
  "dist": {
2836
  "type": "zip",
2837
+ "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/eae11d945e2885d86e1c080eec1bb30a2aa27998",
2838
+ "reference": "eae11d945e2885d86e1c080eec1bb30a2aa27998",
2839
  "shasum": ""
2840
  },
2841
  "require": {
2845
  "ext-json": "*",
2846
  "ext-tokenizer": "*",
2847
  "php": "^7.4 || ^8.0",
2848
+ "sebastian/diff": "^4.0",
2849
  "symfony/console": "^5.4 || ^6.0",
2850
  "symfony/event-dispatcher": "^5.4 || ^6.0",
2851
  "symfony/filesystem": "^5.4 || ^6.0",
2868
  "phpspec/prophecy": "^1.15",
2869
  "phpspec/prophecy-phpunit": "^2.0",
2870
  "phpunit/phpunit": "^9.5",
2871
+ "phpunitgoodpractices/polyfill": "^1.6",
2872
+ "phpunitgoodpractices/traits": "^1.9.2",
2873
  "symfony/phpunit-bridge": "^6.0",
2874
  "symfony/yaml": "^5.4 || ^6.0"
2875
  },
2903
  "description": "A tool to automatically fix PHP code style",
2904
  "support": {
2905
  "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues",
2906
+ "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.12.0"
2907
  },
2908
  "funding": [
2909
  {
2911
  "type": "github"
2912
  }
2913
  ],
2914
+ "time": "2022-10-12T14:20:51+00:00"
2915
  },
2916
  {
2917
  "name": "gettext/gettext",
2918
+ "version": "v4.8.7",
2919
  "source": {
2920
  "type": "git",
2921
  "url": "https://github.com/php-gettext/Gettext.git",
2922
+ "reference": "3f7bc5ef23302a9059e64934f3d59e454516bec0"
2923
  },
2924
  "dist": {
2925
  "type": "zip",
2926
+ "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/3f7bc5ef23302a9059e64934f3d59e454516bec0",
2927
+ "reference": "3f7bc5ef23302a9059e64934f3d59e454516bec0",
2928
  "shasum": ""
2929
  },
2930
  "require": {
2976
  "support": {
2977
  "email": "oom@oscarotero.com",
2978
  "issues": "https://github.com/oscarotero/Gettext/issues",
2979
+ "source": "https://github.com/php-gettext/Gettext/tree/v4.8.7"
2980
  },
2981
  "funding": [
2982
  {
2992
  "type": "patreon"
2993
  }
2994
  ],
2995
+ "time": "2022-08-02T09:42:10+00:00"
2996
  },
2997
  {
2998
  "name": "gettext/languages",
3121
  },
3122
  {
3123
  "name": "guzzlehttp/guzzle",
3124
+ "version": "7.5.0",
3125
  "source": {
3126
  "type": "git",
3127
  "url": "https://github.com/guzzle/guzzle.git",
3128
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba"
3129
  },
3130
  "dist": {
3131
  "type": "zip",
3132
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba",
3133
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba",
3134
  "shasum": ""
3135
  },
3136
  "require": {
3145
  "psr/http-client-implementation": "1.0"
3146
  },
3147
  "require-dev": {
3148
+ "bamarni/composer-bin-plugin": "^1.8.1",
3149
  "ext-curl": "*",
3150
  "php-http/client-integration-tests": "^3.0",
3151
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23",
3152
  "psr/log": "^1.1 || ^2.0 || ^3.0"
3153
  },
3154
  "suggest": {
3158
  },
3159
  "type": "library",
3160
  "extra": {
3161
+ "bamarni-bin": {
3162
+ "bin-links": true,
3163
+ "forward-command": false
3164
+ },
3165
  "branch-alias": {
3166
+ "dev-master": "7.5-dev"
3167
  }
3168
  },
3169
  "autoload": {
3229
  ],
3230
  "support": {
3231
  "issues": "https://github.com/guzzle/guzzle/issues",
3232
+ "source": "https://github.com/guzzle/guzzle/tree/7.5.0"
3233
  },
3234
  "funding": [
3235
  {
3245
  "type": "tidelift"
3246
  }
3247
  ],
3248
+ "time": "2022-08-28T15:39:27+00:00"
3249
  },
3250
  {
3251
  "name": "guzzlehttp/promises",
3252
+ "version": "1.5.2",
3253
  "source": {
3254
  "type": "git",
3255
  "url": "https://github.com/guzzle/promises.git",
3256
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598"
3257
  },
3258
  "dist": {
3259
  "type": "zip",
3260
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
3261
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598",
3262
  "shasum": ""
3263
  },
3264
  "require": {
3313
  ],
3314
  "support": {
3315
  "issues": "https://github.com/guzzle/promises/issues",
3316
+ "source": "https://github.com/guzzle/promises/tree/1.5.2"
3317
  },
3318
  "funding": [
3319
  {
3329
  "type": "tidelift"
3330
  }
3331
  ],
3332
+ "time": "2022-08-28T14:55:35+00:00"
3333
  },
3334
  {
3335
  "name": "guzzlehttp/psr7",
3336
+ "version": "2.4.1",
3337
  "source": {
3338
  "type": "git",
3339
  "url": "https://github.com/guzzle/psr7.git",
3340
+ "reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379"
3341
  },
3342
  "dist": {
3343
  "type": "zip",
3344
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/69568e4293f4fa993f3b0e51c9723e1e17c41379",
3345
+ "reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379",
3346
  "shasum": ""
3347
  },
3348
  "require": {
3356
  "psr/http-message-implementation": "1.0"
3357
  },
3358
  "require-dev": {
3359
+ "bamarni/composer-bin-plugin": "^1.8.1",
3360
  "http-interop/http-factory-tests": "^0.9",
3361
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23"
3362
  },
3363
  "suggest": {
3364
  "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
3365
  },
3366
  "type": "library",
3367
  "extra": {
3368
+ "bamarni-bin": {
3369
+ "bin-links": true,
3370
+ "forward-command": false
3371
+ },
3372
  "branch-alias": {
3373
  "dev-master": "2.4-dev"
3374
  }
3432
  ],
3433
  "support": {
3434
  "issues": "https://github.com/guzzle/psr7/issues",
3435
+ "source": "https://github.com/guzzle/psr7/tree/2.4.1"
3436
  },
3437
  "funding": [
3438
  {
3448
  "type": "tidelift"
3449
  }
3450
  ],
3451
+ "time": "2022-08-28T14:45:39+00:00"
3452
  },
3453
  {
3454
  "name": "illuminate/collections",
3455
+ "version": "v8.83.25",
3456
  "source": {
3457
  "type": "git",
3458
  "url": "https://github.com/illuminate/collections.git",
3506
  },
3507
  {
3508
  "name": "illuminate/contracts",
3509
+ "version": "v8.83.25",
3510
  "source": {
3511
  "type": "git",
3512
  "url": "https://github.com/illuminate/contracts.git",
3554
  },
3555
  {
3556
  "name": "illuminate/macroable",
3557
+ "version": "v8.83.25",
3558
  "source": {
3559
  "type": "git",
3560
  "url": "https://github.com/illuminate/macroable.git",
3600
  },
3601
  {
3602
  "name": "illuminate/support",
3603
+ "version": "v8.83.25",
3604
  "source": {
3605
  "type": "git",
3606
  "url": "https://github.com/illuminate/support.git",
3607
+ "reference": "1c79242468d3bbd9a0f7477df34f9647dde2a09b"
3608
  },
3609
  "dist": {
3610
  "type": "zip",
3611
+ "url": "https://api.github.com/repos/illuminate/support/zipball/1c79242468d3bbd9a0f7477df34f9647dde2a09b",
3612
+ "reference": "1c79242468d3bbd9a0f7477df34f9647dde2a09b",
3613
  "shasum": ""
3614
  },
3615
  "require": {
3664
  "issues": "https://github.com/laravel/framework/issues",
3665
  "source": "https://github.com/laravel/framework"
3666
  },
3667
+ "time": "2022-09-21T21:30:03+00:00"
3668
  },
3669
  {
3670
  "name": "justinrainbow/json-schema",
3925
  },
3926
  {
3927
  "name": "mck89/peast",
3928
+ "version": "v1.15.0",
3929
  "source": {
3930
  "type": "git",
3931
  "url": "https://github.com/mck89/peast.git",
3932
+ "reference": "733cd8f62dcb8239094688063a92766bbfcbf523"
3933
  },
3934
  "dist": {
3935
  "type": "zip",
3936
+ "url": "https://api.github.com/repos/mck89/peast/zipball/733cd8f62dcb8239094688063a92766bbfcbf523",
3937
+ "reference": "733cd8f62dcb8239094688063a92766bbfcbf523",
3938
  "shasum": ""
3939
  },
3940
  "require": {
3947
  "type": "library",
3948
  "extra": {
3949
  "branch-alias": {
3950
+ "dev-master": "1.15.0-dev"
3951
  }
3952
  },
3953
  "autoload": {
3969
  "description": "Peast is PHP library that generates AST for JavaScript code",
3970
  "support": {
3971
  "issues": "https://github.com/mck89/peast/issues",
3972
+ "source": "https://github.com/mck89/peast/tree/v1.15.0"
3973
  },
3974
+ "time": "2022-09-13T15:56:53+00:00"
3975
  },
3976
  {
3977
  "name": "mikehaertl/php-shellcommand",
4086
  },
4087
  {
4088
  "name": "mustache/mustache",
4089
+ "version": "v2.14.2",
4090
  "source": {
4091
  "type": "git",
4092
  "url": "https://github.com/bobthecow/mustache.php.git",
4093
+ "reference": "e62b7c3849d22ec55f3ec425507bf7968193a6cb"
4094
  },
4095
  "dist": {
4096
  "type": "zip",
4097
+ "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/e62b7c3849d22ec55f3ec425507bf7968193a6cb",
4098
+ "reference": "e62b7c3849d22ec55f3ec425507bf7968193a6cb",
4099
  "shasum": ""
4100
  },
4101
  "require": {
4130
  ],
4131
  "support": {
4132
  "issues": "https://github.com/bobthecow/mustache.php/issues",
4133
+ "source": "https://github.com/bobthecow/mustache.php/tree/v2.14.2"
4134
  },
4135
+ "time": "2022-08-23T13:07:01+00:00"
4136
  },
4137
  {
4138
  "name": "myclabs/deep-copy",
4308
  },
4309
  {
4310
  "name": "nesbot/carbon",
4311
+ "version": "2.62.1",
4312
  "source": {
4313
  "type": "git",
4314
  "url": "https://github.com/briannesbitt/Carbon.git",
4315
+ "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a"
4316
  },
4317
  "dist": {
4318
  "type": "zip",
4319
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
4320
+ "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
4321
  "shasum": ""
4322
  },
4323
  "require": {
4406
  "type": "tidelift"
4407
  }
4408
  ],
4409
+ "time": "2022-09-02T07:48:13+00:00"
4410
  },
4411
  {
4412
  "name": "netresearch/jsonmapper",
4461
  },
4462
  {
4463
  "name": "nikic/php-parser",
4464
+ "version": "v4.15.1",
4465
  "source": {
4466
  "type": "git",
4467
  "url": "https://github.com/nikic/PHP-Parser.git",
4468
+ "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
4469
  },
4470
  "dist": {
4471
  "type": "zip",
4472
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
4473
+ "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
4474
  "shasum": ""
4475
  },
4476
  "require": {
4511
  ],
4512
  "support": {
4513
  "issues": "https://github.com/nikic/PHP-Parser/issues",
4514
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1"
4515
  },
4516
+ "time": "2022-09-04T07:30:47+00:00"
4517
  },
4518
  {
4519
  "name": "openlss/lib-array2xml",
4640
  },
4641
  {
4642
  "name": "pdepend/pdepend",
4643
+ "version": "2.12.1",
4644
  "source": {
4645
  "type": "git",
4646
  "url": "https://github.com/pdepend/pdepend.git",
4647
+ "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84"
4648
  },
4649
  "dist": {
4650
  "type": "zip",
4651
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/7a892d56ceafd804b4a2ecc85184640937ce9e84",
4652
+ "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84",
4653
  "shasum": ""
4654
  },
4655
  "require": {
4685
  "description": "Official version of pdepend to be handled with Composer",
4686
  "support": {
4687
  "issues": "https://github.com/pdepend/pdepend/issues",
4688
+ "source": "https://github.com/pdepend/pdepend/tree/2.12.1"
4689
  },
4690
  "funding": [
4691
  {
4693
  "type": "tidelift"
4694
  }
4695
  ],
4696
+ "time": "2022-09-08T19:30:37+00:00"
4697
  },
4698
  {
4699
  "name": "permafrost-dev/ray-cli",
4856
  },
4857
  "time": "2018-07-08T19:19:57+00:00"
4858
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4859
  {
4860
  "name": "php-webdriver/webdriver",
4861
+ "version": "1.13.1",
4862
  "source": {
4863
  "type": "git",
4864
  "url": "https://github.com/php-webdriver/php-webdriver.git",
4865
+ "reference": "6dfe5f814b796c1b5748850aa19f781b9274c36c"
4866
  },
4867
  "dist": {
4868
  "type": "zip",
4869
+ "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/6dfe5f814b796c1b5748850aa19f781b9274c36c",
4870
+ "reference": "6dfe5f814b796c1b5748850aa19f781b9274c36c",
4871
  "shasum": ""
4872
  },
4873
  "require": {
4917
  ],
4918
  "support": {
4919
  "issues": "https://github.com/php-webdriver/php-webdriver/issues",
4920
+ "source": "https://github.com/php-webdriver/php-webdriver/tree/1.13.1"
4921
  },
4922
+ "time": "2022-10-11T11:49:44+00:00"
4923
  },
4924
  {
4925
  "name": "phpcompatibility/php-compatibility",
5095
  },
5096
  {
5097
  "name": "phpdocumentor/type-resolver",
5098
+ "version": "1.6.2",
5099
  "source": {
5100
  "type": "git",
5101
  "url": "https://github.com/phpDocumentor/TypeResolver.git",
5102
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
5103
  },
5104
  "dist": {
5105
  "type": "zip",
5106
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
5107
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
5108
  "shasum": ""
5109
  },
5110
  "require": {
5111
+ "php": "^7.4 || ^8.0",
5112
  "phpdocumentor/reflection-common": "^2.0"
5113
  },
5114
  "require-dev": {
5115
  "ext-tokenizer": "*",
5116
+ "phpstan/extension-installer": "^1.1",
5117
+ "phpstan/phpstan": "^1.8",
5118
+ "phpstan/phpstan-phpunit": "^1.1",
5119
+ "phpunit/phpunit": "^9.5",
5120
+ "rector/rector": "^0.13.9",
5121
+ "vimeo/psalm": "^4.25"
5122
  },
5123
  "type": "library",
5124
  "extra": {
5144
  "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
5145
  "support": {
5146
  "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
5147
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
5148
  },
5149
+ "time": "2022-10-14T12:47:21+00:00"
5150
  },
5151
  {
5152
  "name": "phpmd/phpmd",
5153
+ "version": "2.13.0",
5154
  "source": {
5155
  "type": "git",
5156
  "url": "https://github.com/phpmd/phpmd.git",
5157
+ "reference": "dad0228156856b3ad959992f9748514fa943f3e3"
5158
  },
5159
  "dist": {
5160
  "type": "zip",
5161
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/dad0228156856b3ad959992f9748514fa943f3e3",
5162
+ "reference": "dad0228156856b3ad959992f9748514fa943f3e3",
5163
  "shasum": ""
5164
  },
5165
  "require": {
5166
  "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0",
5167
  "ext-xml": "*",
5168
+ "pdepend/pdepend": "^2.12.1",
5169
  "php": ">=5.3.9"
5170
  },
5171
  "require-dev": {
5221
  "support": {
5222
  "irc": "irc://irc.freenode.org/phpmd",
5223
  "issues": "https://github.com/phpmd/phpmd/issues",
5224
+ "source": "https://github.com/phpmd/phpmd/tree/2.13.0"
5225
  },
5226
  "funding": [
5227
  {
5229
  "type": "tidelift"
5230
  }
5231
  ],
5232
+ "time": "2022-09-10T08:44:15+00:00"
5233
  },
5234
  {
5235
  "name": "phpspec/prophecy",
5300
  },
5301
  {
5302
  "name": "phpstan/phpstan",
5303
+ "version": "1.8.9",
5304
  "source": {
5305
  "type": "git",
5306
  "url": "https://github.com/phpstan/phpstan.git",
5307
+ "reference": "3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2"
5308
  },
5309
  "dist": {
5310
  "type": "zip",
5311
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2",
5312
+ "reference": "3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2",
5313
  "shasum": ""
5314
  },
5315
  "require": {
5333
  "MIT"
5334
  ],
5335
  "description": "PHPStan - PHP Static Analysis Tool",
5336
+ "keywords": [
5337
+ "dev",
5338
+ "static analysis"
5339
+ ],
5340
  "support": {
5341
  "issues": "https://github.com/phpstan/phpstan/issues",
5342
+ "source": "https://github.com/phpstan/phpstan/tree/1.8.9"
5343
  },
5344
  "funding": [
5345
  {
5350
  "url": "https://github.com/phpstan",
5351
  "type": "github"
5352
  },
 
 
 
 
5353
  {
5354
  "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
5355
  "type": "tidelift"
5356
  }
5357
  ],
5358
+ "time": "2022-10-13T13:40:18+00:00"
5359
  },
5360
  {
5361
  "name": "phpunit/php-code-coverage",
6745
  },
6746
  {
6747
  "name": "sebastian/comparator",
6748
+ "version": "4.0.8",
6749
  "source": {
6750
  "type": "git",
6751
  "url": "https://github.com/sebastianbergmann/comparator.git",
6752
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
6753
  },
6754
  "dist": {
6755
  "type": "zip",
6756
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
6757
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
6758
  "shasum": ""
6759
  },
6760
  "require": {
6807
  ],
6808
  "support": {
6809
  "issues": "https://github.com/sebastianbergmann/comparator/issues",
6810
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
6811
  },
6812
  "funding": [
6813
  {
6815
  "type": "github"
6816
  }
6817
  ],
6818
+ "time": "2022-09-14T12:41:17+00:00"
6819
  },
6820
  {
6821
  "name": "sebastian/diff",
6948
  },
6949
  {
6950
  "name": "sebastian/exporter",
6951
+ "version": "4.0.5",
6952
  "source": {
6953
  "type": "git",
6954
  "url": "https://github.com/sebastianbergmann/exporter.git",
6955
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
6956
  },
6957
  "dist": {
6958
  "type": "zip",
6959
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
6960
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
6961
  "shasum": ""
6962
  },
6963
  "require": {
7013
  ],
7014
  "support": {
7015
  "issues": "https://github.com/sebastianbergmann/exporter/issues",
7016
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
7017
  },
7018
  "funding": [
7019
  {
7021
  "type": "github"
7022
  }
7023
  ],
7024
+ "time": "2022-09-14T06:03:37+00:00"
7025
  },
7026
  {
7027
  "name": "sebastian/finder-facade",
7528
  },
7529
  {
7530
  "name": "sirbrillig/phpcs-variable-analysis",
7531
+ "version": "v2.11.9",
7532
  "source": {
7533
  "type": "git",
7534
  "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git",
7535
+ "reference": "62730888d225d55a613854b6a76fb1f9f57d1618"
7536
  },
7537
  "dist": {
7538
  "type": "zip",
7539
+ "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/62730888d225d55a613854b6a76fb1f9f57d1618",
7540
+ "reference": "62730888d225d55a613854b6a76fb1f9f57d1618",
7541
  "shasum": ""
7542
  },
7543
  "require": {
7544
  "php": ">=5.4.0",
7545
+ "squizlabs/php_codesniffer": "^3.5.6"
7546
  },
7547
  "require-dev": {
7548
  "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
7549
+ "phpcsstandards/phpcsdevcs": "^1.1",
7550
+ "phpstan/phpstan": "^1.7",
7551
+ "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.5 || ^7.0 || ^8.0 || ^9.0",
7552
+ "sirbrillig/phpcs-import-detection": "^1.1",
7553
+ "vimeo/psalm": "^0.2 || ^0.3 || ^1.1 || ^4.24 || ^5.0@beta"
7554
  },
7555
  "type": "phpcodesniffer-standard",
7556
  "autoload": {
7573
  }
7574
  ],
7575
  "description": "A PHPCS sniff to detect problems with variables.",
7576
+ "keywords": [
7577
+ "phpcs",
7578
+ "static analysis"
7579
+ ],
7580
  "support": {
7581
  "issues": "https://github.com/sirbrillig/phpcs-variable-analysis/issues",
7582
  "source": "https://github.com/sirbrillig/phpcs-variable-analysis",
7583
  "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki"
7584
  },
7585
+ "time": "2022-10-05T23:31:46+00:00"
7586
  },
7587
  {
7588
  "name": "softcreatr/jsonpath",
7589
+ "version": "0.7.6",
7590
  "source": {
7591
  "type": "git",
7592
  "url": "https://github.com/SoftCreatR/JSONPath.git",
7593
+ "reference": "e04c02cb78bcc242c69d17dac5b29436bf3e1076"
7594
  },
7595
  "dist": {
7596
  "type": "zip",
7597
+ "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/e04c02cb78bcc242c69d17dac5b29436bf3e1076",
7598
+ "reference": "e04c02cb78bcc242c69d17dac5b29436bf3e1076",
7599
  "shasum": ""
7600
  },
7601
  "require": {
7602
  "ext-json": "*",
7603
+ "php": ">=7.1,<8.0"
7604
  },
7605
  "replace": {
7606
  "flow/jsonpath": "*"
7607
  },
7608
  "require-dev": {
7609
  "phpunit/phpunit": ">=7.0",
7610
+ "roave/security-advisories": "dev-latest",
7611
  "squizlabs/php_codesniffer": "^3.5"
7612
  },
7613
  "type": "library",
7630
  {
7631
  "name": "Sascha Greuel",
7632
  "email": "hello@1-2.dev",
7633
+ "homepage": "https://1-2.dev",
7634
  "role": "Developer"
7635
  }
7636
  ],
7642
  "source": "https://github.com/SoftCreatR/JSONPath"
7643
  },
7644
  "funding": [
7645
+ {
7646
+ "url": "https://ecologi.com/softcreatr?r=61212ab3fc69b8eb8a2014f4",
7647
+ "type": "custom"
7648
+ },
7649
  {
7650
  "url": "https://github.com/softcreatr",
7651
  "type": "github"
7652
  }
7653
  ],
7654
+ "time": "2022-09-27T09:27:12+00:00"
7655
  },
7656
  {
7657
  "name": "spatie/backtrace",
7767
  },
7768
  {
7769
  "name": "spatie/ray",
7770
+ "version": "1.36.0",
7771
  "source": {
7772
  "type": "git",
7773
  "url": "https://github.com/spatie/ray.git",
7774
+ "reference": "4a4def8cda4806218341b8204c98375aa8c34323"
7775
  },
7776
  "dist": {
7777
  "type": "zip",
7778
+ "url": "https://api.github.com/repos/spatie/ray/zipball/4a4def8cda4806218341b8204c98375aa8c34323",
7779
+ "reference": "4a4def8cda4806218341b8204c98375aa8c34323",
7780
  "shasum": ""
7781
  },
7782
  "require": {
7826
  ],
7827
  "support": {
7828
  "issues": "https://github.com/spatie/ray/issues",
7829
+ "source": "https://github.com/spatie/ray/tree/1.36.0"
7830
  },
7831
  "funding": [
7832
  {
7838
  "type": "other"
7839
  }
7840
  ],
7841
+ "time": "2022-08-11T14:04:18+00:00"
7842
  },
7843
  {
7844
  "name": "spatie/wordpress-ray",
7976
  },
7977
  {
7978
  "name": "symfony/browser-kit",
7979
+ "version": "v5.4.11",
7980
  "source": {
7981
  "type": "git",
7982
  "url": "https://github.com/symfony/browser-kit.git",
7983
+ "reference": "081fe28a26b6bd671dea85ef3a4b5003f3c88027"
7984
  },
7985
  "dist": {
7986
  "type": "zip",
7987
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/081fe28a26b6bd671dea85ef3a4b5003f3c88027",
7988
+ "reference": "081fe28a26b6bd671dea85ef3a4b5003f3c88027",
7989
  "shasum": ""
7990
  },
7991
  "require": {
8028
  "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
8029
  "homepage": "https://symfony.com",
8030
  "support": {
8031
+ "source": "https://github.com/symfony/browser-kit/tree/v5.4.11"
8032
  },
8033
  "funding": [
8034
  {
8044
  "type": "tidelift"
8045
  }
8046
  ],
8047
+ "time": "2022-07-27T15:50:05+00:00"
8048
  },
8049
  {
8050
  "name": "symfony/config",
8051
+ "version": "v5.4.11",
8052
  "source": {
8053
  "type": "git",
8054
  "url": "https://github.com/symfony/config.git",
8055
+ "reference": "ec79e03125c1d2477e43dde8528535d90cc78379"
8056
  },
8057
  "dist": {
8058
  "type": "zip",
8059
+ "url": "https://api.github.com/repos/symfony/config/zipball/ec79e03125c1d2477e43dde8528535d90cc78379",
8060
+ "reference": "ec79e03125c1d2477e43dde8528535d90cc78379",
8061
  "shasum": ""
8062
  },
8063
  "require": {
8107
  "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
8108
  "homepage": "https://symfony.com",
8109
  "support": {
8110
+ "source": "https://github.com/symfony/config/tree/v5.4.11"
8111
  },
8112
  "funding": [
8113
  {
8123
  "type": "tidelift"
8124
  }
8125
  ],
8126
+ "time": "2022-07-20T13:00:38+00:00"
8127
  },
8128
  {
8129
  "name": "symfony/console",
8130
+ "version": "v5.4.14",
8131
  "source": {
8132
  "type": "git",
8133
  "url": "https://github.com/symfony/console.git",
8134
+ "reference": "984ea2c0f45f42dfed01d2f3987b187467c4b16d"
8135
  },
8136
  "dist": {
8137
  "type": "zip",
8138
+ "url": "https://api.github.com/repos/symfony/console/zipball/984ea2c0f45f42dfed01d2f3987b187467c4b16d",
8139
+ "reference": "984ea2c0f45f42dfed01d2f3987b187467c4b16d",
8140
  "shasum": ""
8141
  },
8142
  "require": {
8206
  "terminal"
8207
  ],
8208
  "support": {
8209
+ "source": "https://github.com/symfony/console/tree/v5.4.14"
8210
  },
8211
  "funding": [
8212
  {
8222
  "type": "tidelift"
8223
  }
8224
  ],
8225
+ "time": "2022-10-07T08:01:20+00:00"
8226
  },
8227
  {
8228
  "name": "symfony/css-selector",
8229
+ "version": "v5.4.11",
8230
  "source": {
8231
  "type": "git",
8232
  "url": "https://github.com/symfony/css-selector.git",
8233
+ "reference": "c1681789f059ab756001052164726ae88512ae3d"
8234
  },
8235
  "dist": {
8236
  "type": "zip",
8237
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d",
8238
+ "reference": "c1681789f059ab756001052164726ae88512ae3d",
8239
  "shasum": ""
8240
  },
8241
  "require": {
8272
  "description": "Converts CSS selectors to XPath expressions",
8273
  "homepage": "https://symfony.com",
8274
  "support": {
8275
+ "source": "https://github.com/symfony/css-selector/tree/v5.4.11"
8276
  },
8277
  "funding": [
8278
  {
8288
  "type": "tidelift"
8289
  }
8290
  ],
8291
+ "time": "2022-06-27T16:58:25+00:00"
8292
  },
8293
  {
8294
  "name": "symfony/dependency-injection",
8295
+ "version": "v5.4.13",
8296
  "source": {
8297
  "type": "git",
8298
  "url": "https://github.com/symfony/dependency-injection.git",
8299
+ "reference": "24cf522668845391c0542bc1de496366072a6d0e"
8300
  },
8301
  "dist": {
8302
  "type": "zip",
8303
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/24cf522668845391c0542bc1de496366072a6d0e",
8304
+ "reference": "24cf522668845391c0542bc1de496366072a6d0e",
8305
  "shasum": ""
8306
  },
8307
  "require": {
8361
  "description": "Allows you to standardize and centralize the way objects are constructed in your application",
8362
  "homepage": "https://symfony.com",
8363
  "support": {
8364
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.13"
8365
  },
8366
  "funding": [
8367
  {
8377
  "type": "tidelift"
8378
  }
8379
  ],
8380
+ "time": "2022-08-30T19:10:13+00:00"
8381
  },
8382
  {
8383
  "name": "symfony/deprecation-contracts",
8448
  },
8449
  {
8450
  "name": "symfony/dom-crawler",
8451
+ "version": "v5.4.12",
8452
  "source": {
8453
  "type": "git",
8454
  "url": "https://github.com/symfony/dom-crawler.git",
8455
+ "reference": "291c1e92281a09152dda089f782e23dedd34bd4f"
8456
  },
8457
  "dist": {
8458
  "type": "zip",
8459
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/291c1e92281a09152dda089f782e23dedd34bd4f",
8460
+ "reference": "291c1e92281a09152dda089f782e23dedd34bd4f",
8461
  "shasum": ""
8462
  },
8463
  "require": {
8503
  "description": "Eases DOM navigation for HTML and XML documents",
8504
  "homepage": "https://symfony.com",
8505
  "support": {
8506
+ "source": "https://github.com/symfony/dom-crawler/tree/v5.4.12"
8507
  },
8508
  "funding": [
8509
  {
8519
  "type": "tidelift"
8520
  }
8521
  ],
8522
+ "time": "2022-08-03T13:09:21+00:00"
8523
  },
8524
  {
8525
  "name": "symfony/event-dispatcher",
8687
  },
8688
  {
8689
  "name": "symfony/filesystem",
8690
+ "version": "v5.4.13",
8691
  "source": {
8692
  "type": "git",
8693
  "url": "https://github.com/symfony/filesystem.git",
8694
+ "reference": "ac09569844a9109a5966b9438fc29113ce77cf51"
8695
  },
8696
  "dist": {
8697
  "type": "zip",
8698
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/ac09569844a9109a5966b9438fc29113ce77cf51",
8699
+ "reference": "ac09569844a9109a5966b9438fc29113ce77cf51",
8700
  "shasum": ""
8701
  },
8702
  "require": {
8731
  "description": "Provides basic utilities for the filesystem",
8732
  "homepage": "https://symfony.com",
8733
  "support": {
8734
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.13"
8735
  },
8736
  "funding": [
8737
  {
8747
  "type": "tidelift"
8748
  }
8749
  ],
8750
+ "time": "2022-09-21T19:53:16+00:00"
8751
  },
8752
  {
8753
  "name": "symfony/finder",
8754
+ "version": "v5.4.11",
8755
  "source": {
8756
  "type": "git",
8757
  "url": "https://github.com/symfony/finder.git",
8758
+ "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c"
8759
  },
8760
  "dist": {
8761
  "type": "zip",
8762
+ "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c",
8763
+ "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c",
8764
  "shasum": ""
8765
  },
8766
  "require": {
8794
  "description": "Finds files and directories via an intuitive fluent interface",
8795
  "homepage": "https://symfony.com",
8796
  "support": {
8797
+ "source": "https://github.com/symfony/finder/tree/v5.4.11"
8798
  },
8799
  "funding": [
8800
  {
8810
  "type": "tidelift"
8811
  }
8812
  ],
8813
+ "time": "2022-07-29T07:37:50+00:00"
8814
  },
8815
  {
8816
  "name": "symfony/options-resolver",
8817
+ "version": "v5.4.11",
8818
  "source": {
8819
  "type": "git",
8820
  "url": "https://github.com/symfony/options-resolver.git",
8821
+ "reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690"
8822
  },
8823
  "dist": {
8824
  "type": "zip",
8825
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/54f14e36aa73cb8f7261d7686691fd4d75ea2690",
8826
+ "reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690",
8827
  "shasum": ""
8828
  },
8829
  "require": {
8863
  "options"
8864
  ],
8865
  "support": {
8866
+ "source": "https://github.com/symfony/options-resolver/tree/v5.4.11"
8867
  },
8868
  "funding": [
8869
  {
8879
  "type": "tidelift"
8880
  }
8881
  ],
8882
+ "time": "2022-07-20T13:00:38+00:00"
8883
  },
8884
  {
8885
  "name": "symfony/polyfill-ctype",
9454
  },
9455
  {
9456
  "name": "symfony/process",
9457
+ "version": "v5.4.11",
9458
  "source": {
9459
  "type": "git",
9460
  "url": "https://github.com/symfony/process.git",
9461
+ "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1"
9462
  },
9463
  "dist": {
9464
  "type": "zip",
9465
+ "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1",
9466
+ "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1",
9467
  "shasum": ""
9468
  },
9469
  "require": {
9496
  "description": "Executes commands in sub-processes",
9497
  "homepage": "https://symfony.com",
9498
  "support": {
9499
+ "source": "https://github.com/symfony/process/tree/v5.4.11"
9500
  },
9501
  "funding": [
9502
  {
9512
  "type": "tidelift"
9513
  }
9514
  ],
9515
+ "time": "2022-06-27T16:58:25+00:00"
9516
  },
9517
  {
9518
  "name": "symfony/service-contracts",
9599
  },
9600
  {
9601
  "name": "symfony/stopwatch",
9602
+ "version": "v5.4.13",
9603
  "source": {
9604
  "type": "git",
9605
  "url": "https://github.com/symfony/stopwatch.git",
9606
+ "reference": "6df7a3effde34d81717bbef4591e5ffe32226d69"
9607
  },
9608
  "dist": {
9609
  "type": "zip",
9610
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/6df7a3effde34d81717bbef4591e5ffe32226d69",
9611
+ "reference": "6df7a3effde34d81717bbef4591e5ffe32226d69",
9612
  "shasum": ""
9613
  },
9614
  "require": {
9641
  "description": "Provides a way to profile code",
9642
  "homepage": "https://symfony.com",
9643
  "support": {
9644
+ "source": "https://github.com/symfony/stopwatch/tree/v5.4.13"
9645
  },
9646
  "funding": [
9647
  {
9657
  "type": "tidelift"
9658
  }
9659
  ],
9660
+ "time": "2022-09-28T13:19:49+00:00"
9661
  },
9662
  {
9663
  "name": "symfony/string",
9664
+ "version": "v5.4.14",
9665
  "source": {
9666
  "type": "git",
9667
  "url": "https://github.com/symfony/string.git",
9668
+ "reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4"
9669
  },
9670
  "dist": {
9671
  "type": "zip",
9672
+ "url": "https://api.github.com/repos/symfony/string/zipball/089e7237497fae7a9c404d0c3aeb8db3254733e4",
9673
+ "reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4",
9674
  "shasum": ""
9675
  },
9676
  "require": {
9727
  "utf8"
9728
  ],
9729
  "support": {
9730
+ "source": "https://github.com/symfony/string/tree/v5.4.14"
9731
  },
9732
  "funding": [
9733
  {
9743
  "type": "tidelift"
9744
  }
9745
  ],
9746
+ "time": "2022-10-05T15:16:54+00:00"
9747
  },
9748
  {
9749
  "name": "symfony/translation",
9750
+ "version": "v5.4.14",
9751
  "source": {
9752
  "type": "git",
9753
  "url": "https://github.com/symfony/translation.git",
9754
+ "reference": "f0ed07675863aa6e3939df8b1bc879450b585cab"
9755
  },
9756
  "dist": {
9757
  "type": "zip",
9758
+ "url": "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab",
9759
+ "reference": "f0ed07675863aa6e3939df8b1bc879450b585cab",
9760
  "shasum": ""
9761
  },
9762
  "require": {
9824
  "description": "Provides tools to internationalize your application",
9825
  "homepage": "https://symfony.com",
9826
  "support": {
9827
+ "source": "https://github.com/symfony/translation/tree/v5.4.14"
9828
  },
9829
  "funding": [
9830
  {
9840
  "type": "tidelift"
9841
  }
9842
  ],
9843
+ "time": "2022-10-07T08:01:20+00:00"
9844
  },
9845
  {
9846
  "name": "symfony/translation-contracts",
9922
  },
9923
  {
9924
  "name": "symfony/var-dumper",
9925
+ "version": "v5.4.14",
9926
  "source": {
9927
  "type": "git",
9928
  "url": "https://github.com/symfony/var-dumper.git",
9929
+ "reference": "6894d06145fefebd9a4c7272baa026a1c394a430"
9930
  },
9931
  "dist": {
9932
  "type": "zip",
9933
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430",
9934
+ "reference": "6894d06145fefebd9a4c7272baa026a1c394a430",
9935
  "shasum": ""
9936
  },
9937
  "require": {
9991
  "dump"
9992
  ],
9993
  "support": {
9994
+ "source": "https://github.com/symfony/var-dumper/tree/v5.4.14"
9995
  },
9996
  "funding": [
9997
  {
10007
  "type": "tidelift"
10008
  }
10009
  ],
10010
+ "time": "2022-10-07T08:01:20+00:00"
10011
  },
10012
  {
10013
  "name": "symfony/yaml",
10014
+ "version": "v5.4.14",
10015
  "source": {
10016
  "type": "git",
10017
  "url": "https://github.com/symfony/yaml.git",
10018
+ "reference": "e83fe9a72011f07c662da46a05603d66deeeb487"
10019
  },
10020
  "dist": {
10021
  "type": "zip",
10022
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/e83fe9a72011f07c662da46a05603d66deeeb487",
10023
+ "reference": "e83fe9a72011f07c662da46a05603d66deeeb487",
10024
  "shasum": ""
10025
  },
10026
  "require": {
10066
  "description": "Loads and dumps YAML files",
10067
  "homepage": "https://symfony.com",
10068
  "support": {
10069
+ "source": "https://github.com/symfony/yaml/tree/v5.4.14"
10070
  },
10071
  "funding": [
10072
  {
10082
  "type": "tidelift"
10083
  }
10084
  ],
10085
+ "time": "2022-10-03T15:15:50+00:00"
10086
  },
10087
  {
10088
  "name": "theseer/fdomdocument",
10184
  },
10185
  {
10186
  "name": "vimeo/psalm",
10187
+ "version": "4.29.0",
10188
  "source": {
10189
  "type": "git",
10190
  "url": "https://github.com/vimeo/psalm.git",
10191
+ "reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3"
10192
  },
10193
  "dist": {
10194
  "type": "zip",
10195
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3",
10196
+ "reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3",
10197
  "shasum": ""
10198
  },
10199
  "require": {
10232
  "phpdocumentor/reflection-docblock": "^5",
10233
  "phpmyadmin/sql-parser": "5.1.0||dev-master",
10234
  "phpspec/prophecy": ">=1.9.0",
10235
+ "phpstan/phpdoc-parser": "1.2.* || 1.6.4",
10236
  "phpunit/phpunit": "^9.0",
10237
  "psalm/plugin-phpunit": "^0.16",
10238
  "slevomat/coding-standard": "^7.0",
10286
  ],
10287
  "support": {
10288
  "issues": "https://github.com/vimeo/psalm/issues",
10289
+ "source": "https://github.com/vimeo/psalm/tree/4.29.0"
10290
  },
10291
+ "time": "2022-10-11T17:09:17+00:00"
10292
  },
10293
  {
10294
  "name": "voku/portable-ascii",
10647
  },
10648
  {
10649
  "name": "wp-cli/php-cli-tools",
10650
+ "version": "v0.11.15",
10651
  "source": {
10652
  "type": "git",
10653
  "url": "https://github.com/wp-cli/php-cli-tools.git",
10654
+ "reference": "b6edd35988892ea1451392eb7a26d9dbe98c836d"
10655
  },
10656
  "dist": {
10657
  "type": "zip",
10658
+ "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/b6edd35988892ea1451392eb7a26d9dbe98c836d",
10659
+ "reference": "b6edd35988892ea1451392eb7a26d9dbe98c836d",
10660
  "shasum": ""
10661
  },
10662
  "require": {
10695
  ],
10696
  "support": {
10697
  "issues": "https://github.com/wp-cli/php-cli-tools/issues",
10698
+ "source": "https://github.com/wp-cli/php-cli-tools/tree/v0.11.15"
10699
  },
10700
+ "time": "2022-08-15T10:15:55+00:00"
10701
  },
10702
  {
10703
  "name": "wp-cli/wp-cli",
10704
+ "version": "v2.7.0",
10705
  "source": {
10706
  "type": "git",
10707
  "url": "https://github.com/wp-cli/wp-cli.git",
10708
+ "reference": "832b7635a39b4e468c634572baaab2710a55d88b"
10709
  },
10710
  "dist": {
10711
  "type": "zip",
10712
+ "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/832b7635a39b4e468c634572baaab2710a55d88b",
10713
+ "reference": "832b7635a39b4e468c634572baaab2710a55d88b",
10714
  "shasum": ""
10715
  },
10716
  "require": {
10728
  "wp-cli/entity-command": "^1.2 || ^2",
10729
  "wp-cli/extension-command": "^1.1 || ^2",
10730
  "wp-cli/package-command": "^1 || ^2",
10731
+ "wp-cli/wp-cli-tests": "^3.1.6"
10732
  },
10733
  "suggest": {
10734
  "ext-readline": "Include for a better --prompt implementation",
10741
  "type": "library",
10742
  "extra": {
10743
  "branch-alias": {
10744
+ "dev-master": "2.7.x-dev"
10745
  }
10746
  },
10747
  "autoload": {
10768
  "issues": "https://github.com/wp-cli/wp-cli/issues",
10769
  "source": "https://github.com/wp-cli/wp-cli"
10770
  },
10771
+ "time": "2022-10-12T05:13:17+00:00"
10772
  },
10773
  {
10774
  "name": "wp-coding-standards/wpcs",
languages/post-expirator-pt_BR.po CHANGED
@@ -236,7 +236,7 @@ msgstr "Como expirar"
236
 
237
  #: views/bulk-edit.php:124 views/classic-metabox.php:127
238
  #: views/quick-edit.php:85 assets/jsx/block.jsx:203
239
- msgid "Expiration Categories"
240
  msgstr "Categorias para expiração"
241
 
242
  #: views/classic-metabox.php:13
@@ -245,7 +245,7 @@ msgstr "A data/hora publicada será usada como valor de expiração"
245
 
246
  #: views/classic-metabox.php:135
247
  msgid ""
248
- "You must assign a heirarchical taxonomy to this post type to use this "
249
  "feature."
250
  msgstr ""
251
  "Você deve atribuir uma taxonomia herdeira a este tipo de post para usar este "
@@ -292,15 +292,15 @@ msgid "Unstick"
292
  msgstr "Desafixar"
293
 
294
  #: views/how-to-expire.php:47 assets/jsx/block.jsx:152
295
- msgid "Category: Replace"
296
  msgstr "Categoria: Substituir"
297
 
298
  #: views/how-to-expire.php:50 assets/jsx/block.jsx:153
299
- msgid "Category: Add"
300
  msgstr "Categoria: Adicionar"
301
 
302
  #: views/how-to-expire.php:53 assets/jsx/block.jsx:154
303
- msgid "Category: Remove"
304
  msgstr "Categoria: Remover"
305
 
306
  #: views/menu-defaults.php:5
@@ -528,7 +528,7 @@ msgid ""
528
  msgstr ""
529
 
530
  #: views/menu-general.php:189
531
- msgid "Default Expiration Category"
532
  msgstr ""
533
 
534
  #: views/menu-general.php:205
236
 
237
  #: views/bulk-edit.php:124 views/classic-metabox.php:127
238
  #: views/quick-edit.php:85 assets/jsx/block.jsx:203
239
+ msgid "Expiration Taxonomies"
240
  msgstr "Categorias para expiração"
241
 
242
  #: views/classic-metabox.php:13
245
 
246
  #: views/classic-metabox.php:135
247
  msgid ""
248
+ "You must assign a hierarchical taxonomy to this post type to use this "
249
  "feature."
250
  msgstr ""
251
  "Você deve atribuir uma taxonomia herdeira a este tipo de post para usar este "
292
  msgstr "Desafixar"
293
 
294
  #: views/how-to-expire.php:47 assets/jsx/block.jsx:152
295
+ msgid "Taxonomy: Replace"
296
  msgstr "Categoria: Substituir"
297
 
298
  #: views/how-to-expire.php:50 assets/jsx/block.jsx:153
299
+ msgid "Taxonomy: Add"
300
  msgstr "Categoria: Adicionar"
301
 
302
  #: views/how-to-expire.php:53 assets/jsx/block.jsx:154
303
+ msgid "Taxonomy: Remove"
304
  msgstr "Categoria: Remover"
305
 
306
  #: views/menu-defaults.php:5
528
  msgstr ""
529
 
530
  #: views/menu-general.php:189
531
+ msgid "Default Expiration Taxonomy"
532
  msgstr ""
533
 
534
  #: views/menu-general.php:205
languages/post-expirator.pot CHANGED
@@ -124,17 +124,17 @@ msgstr ""
124
 
125
  #: classes/Facade.class.php:371
126
  #: views/how-to-expire.php:47
127
- msgid "Category: Replace"
128
  msgstr ""
129
 
130
  #: classes/Facade.class.php:372
131
  #: views/how-to-expire.php:50
132
- msgid "Category: Add"
133
  msgstr ""
134
 
135
  #: classes/Facade.class.php:373
136
  #: views/how-to-expire.php:53
137
- msgid "Category: Remove"
138
  msgstr ""
139
 
140
  #: classes/Facade.class.php:375
@@ -160,7 +160,7 @@ msgstr ""
160
  #: views/bulk-edit.php:127
161
  #: views/classic-metabox.php:127
162
  #: views/quick-edit.php:88
163
- msgid "Expiration Categories"
164
  msgstr ""
165
 
166
  #: post-expirator-debug.php:77
@@ -320,7 +320,7 @@ msgid "The published date/time will be used as the expiration value"
320
  msgstr ""
321
 
322
  #: views/classic-metabox.php:135
323
- msgid "You must assign a heirarchical taxonomy to this post type to use this feature."
324
  msgstr ""
325
 
326
  #: views/classic-metabox.php:140
@@ -625,7 +625,7 @@ msgid "Set the default expiration date to be used when creating new posts and pa
625
  msgstr ""
626
 
627
  #: views/menu-general.php:151
628
- msgid "Default Expiration Category"
629
  msgstr ""
630
 
631
  #: views/menu-general.php:170
124
 
125
  #: classes/Facade.class.php:371
126
  #: views/how-to-expire.php:47
127
+ msgid "Taxonomy: Replace"
128
  msgstr ""
129
 
130
  #: classes/Facade.class.php:372
131
  #: views/how-to-expire.php:50
132
+ msgid "Taxonomy: Add"
133
  msgstr ""
134
 
135
  #: classes/Facade.class.php:373
136
  #: views/how-to-expire.php:53
137
+ msgid "Taxonomy: Remove"
138
  msgstr ""
139
 
140
  #: classes/Facade.class.php:375
160
  #: views/bulk-edit.php:127
161
  #: views/classic-metabox.php:127
162
  #: views/quick-edit.php:88
163
+ msgid "Expiration Taxonomies"
164
  msgstr ""
165
 
166
  #: post-expirator-debug.php:77
320
  msgstr ""
321
 
322
  #: views/classic-metabox.php:135
323
+ msgid "You must assign a hierarchical taxonomy to this post type to use this feature."
324
  msgstr ""
325
 
326
  #: views/classic-metabox.php:140
625
  msgstr ""
626
 
627
  #: views/menu-general.php:151
628
+ msgid "Default Expiration Taxonomy"
629
  msgstr ""
630
 
631
  #: views/menu-general.php:170
post-expirator.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: http://wordpress.org/extend/plugins/post-expirator/
5
  * Description: Allows you to add an expiration date (minute) to posts which you can configure to either delete the post, change it to a draft, or update the post categories at expiration time.
6
  * Author: PublishPress
7
- * Version: 2.7.7
8
  * Author URI: http://publishpress.com
9
  * Text Domain: post-expirator
10
  * Domain Path: /languages
@@ -26,7 +26,7 @@ if (class_exists('PublishPressInstanceProtection\\Config')) {
26
 
27
  if (! defined('POSTEXPIRATOR_LOADED')) {
28
  // Default Values
29
- define('POSTEXPIRATOR_VERSION', '2.7.7');
30
  define('POSTEXPIRATOR_DATEFORMAT', __('l F jS, Y', 'post-expirator'));
31
  define('POSTEXPIRATOR_TIMEFORMAT', __('g:ia', 'post-expirator'));
32
  define('POSTEXPIRATOR_FOOTERCONTENTS', __('Post expires at EXPIRATIONTIME on EXPIRATIONDATE', 'post-expirator'));
@@ -469,7 +469,7 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
469
  $opts = [
470
  'expireType' => $postTypeDefaults['expireType'],
471
  'category' => $categories,
472
- 'categoryTaxonomy' => '',
473
  'enabled' => $status === 'saved',
474
  ];
475
 
@@ -478,11 +478,7 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
478
  update_post_meta($post->ID, '_expiration-date-options', $opts);
479
  update_post_meta($post->ID, '_expiration-date-type', $postTypeDefaults['expireType']);
480
  update_post_meta($post->ID, '_expiration-date-categories', (array)$categories);
481
- update_post_meta(
482
- $post->ID,
483
- '_expiration-date-taxonomy',
484
- $opts['categoryTaxonomy']
485
- );
486
  }
487
 
488
  /**
@@ -563,6 +559,8 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
563
  return;
564
  }
565
 
 
 
566
  $shouldSchedule = false;
567
  $ts = null;
568
  $opts = [];
@@ -613,6 +611,7 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
613
  'category-remove'
614
  ), true)) {
615
  $opts['category'] = $category;
 
616
  }
617
  }
618
  } else {
@@ -623,7 +622,7 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
623
  if ($opts['expireType'] === 'category' || $opts['expireType'] === 'category-add' || $opts['expireType'] === 'category-remove') {
624
  if (isset($category) && ! empty($category)) {
625
  $opts['category'] = $category;
626
- $opts['categoryTaxonomy'] = sanitize_text_field($_POST['taxonomy-heirarchical']);
627
  }
628
  }
629
  }
@@ -674,6 +673,8 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
674
  } else {
675
  $opts['category'] = (array)get_post_meta($id, '_expiration-date-categories', true);
676
  }
 
 
677
  }
678
  } else {
679
  $shouldSchedule = PostExpirator_Facade::is_expiration_enabled_for_post($id);
@@ -683,6 +684,7 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
683
 
684
  $opts['expireType'] = get_post_meta($id, '_expiration-date-type', true);
685
  $opts['category'] = (array)get_post_meta($id, '_expiration-date-categories', true);
 
686
  }
687
  }
688
  }
@@ -1197,6 +1199,8 @@ if (! defined('POSTEXPIRATOR_LOADED')) {
1197
  } else {
1198
  $terms = PostExpirator_Util::sanitize_array_of_integers($expireCategory);
1199
 
 
 
1200
  $expirationLog['taxonomy'] = $expireCategoryTaxonomy;
1201
  $expirationLog['terms'] = $terms;
1202
 
4
  * Plugin URI: http://wordpress.org/extend/plugins/post-expirator/
5
  * Description: Allows you to add an expiration date (minute) to posts which you can configure to either delete the post, change it to a draft, or update the post categories at expiration time.
6
  * Author: PublishPress
7
+ * Version: 2.7.8
8
  * Author URI: http://publishpress.com
9
  * Text Domain: post-expirator
10
  * Domain Path: /languages
26
 
27
  if (! defined('POSTEXPIRATOR_LOADED')) {
28
  // Default Values
29
+ define('POSTEXPIRATOR_VERSION', '2.7.8');
30
  define('POSTEXPIRATOR_DATEFORMAT', __('l F jS, Y', 'post-expirator'));
31
  define('POSTEXPIRATOR_TIMEFORMAT', __('g:ia', 'post-expirator'));
32
  define('POSTEXPIRATOR_FOOTERCONTENTS', __('Post expires at EXPIRATIONTIME on EXPIRATIONDATE', 'post-expirator'));
469
  $opts = [
470
  'expireType' => $postTypeDefaults['expireType'],
471
  'category' => $categories,
472
+ 'categoryTaxonomy' => (string)$postTypeDefaults['taxonomy'],
473
  'enabled' => $status === 'saved',
474
  ];
475
 
478
  update_post_meta($post->ID, '_expiration-date-options', $opts);
479
  update_post_meta($post->ID, '_expiration-date-type', $postTypeDefaults['expireType']);
480
  update_post_meta($post->ID, '_expiration-date-categories', (array)$categories);
481
+ update_post_meta($post->ID, '_expiration-date-taxonomy', $opts['categoryTaxonomy']);
 
 
 
 
482
  }
483
 
484
  /**
559
  return;
560
  }
561
 
562
+ $postTypeDefaults = get_option('expirationdateDefaults' . ucfirst($posttype));
563
+
564
  $shouldSchedule = false;
565
  $ts = null;
566
  $opts = [];
611
  'category-remove'
612
  ), true)) {
613
  $opts['category'] = $category;
614
+ $opts['categoryTaxonomy'] = $postTypeDefaults['taxonomy'];
615
  }
616
  }
617
  } else {
622
  if ($opts['expireType'] === 'category' || $opts['expireType'] === 'category-add' || $opts['expireType'] === 'category-remove') {
623
  if (isset($category) && ! empty($category)) {
624
  $opts['category'] = $category;
625
+ $opts['categoryTaxonomy'] = $postTypeDefaults['taxonomy'];
626
  }
627
  }
628
  }
673
  } else {
674
  $opts['category'] = (array)get_post_meta($id, '_expiration-date-categories', true);
675
  }
676
+
677
+ $opts['categoryTaxonomy'] = $postTypeDefaults['taxonomy'];
678
  }
679
  } else {
680
  $shouldSchedule = PostExpirator_Facade::is_expiration_enabled_for_post($id);
684
 
685
  $opts['expireType'] = get_post_meta($id, '_expiration-date-type', true);
686
  $opts['category'] = (array)get_post_meta($id, '_expiration-date-categories', true);
687
+ $opts['categoryTaxonomy'] = $postTypeDefaults['taxonomy'];
688
  }
689
  }
690
  }
1199
  } else {
1200
  $terms = PostExpirator_Util::sanitize_array_of_integers($expireCategory);
1201
 
1202
+ ray($terms, $expireCategory, $expireCategoryTaxonomy);
1203
+
1204
  $expirationLog['taxonomy'] = $expireCategoryTaxonomy;
1205
  $expirationLog['terms'] = $terms;
1206
 
readme.txt CHANGED
@@ -4,8 +4,8 @@ Author: publishpress
4
  Author URI: https://publishpress.com
5
  Tags: expire, posts, pages, schedule
6
  Requires at least: 5.3
7
- Tested up to: 6.0
8
- Stable tag: 2.7.7
9
 
10
  Add an expiration date to posts. When your post is automatically unpublished, you can delete the post, change the status, or update the post categories.
11
 
@@ -81,6 +81,13 @@ This section describes how to install the plugin and get it working.
81
 
82
  == Changelog ==
83
 
 
 
 
 
 
 
 
84
  = [2.7.7] - 14 Jul, 2022 =
85
 
86
  * ADDED: Add post meta "expiration_log" with expiration log data when post expires;
4
  Author URI: https://publishpress.com
5
  Tags: expire, posts, pages, schedule
6
  Requires at least: 5.3
7
+ Tested up to: 6.1
8
+ Stable tag: 2.7.8
9
 
10
  Add an expiration date to posts. When your post is automatically unpublished, you can delete the post, change the status, or update the post categories.
11
 
81
 
82
  == Changelog ==
83
 
84
+ = [2.7.8] - 17 Oct, 2022 =
85
+
86
+ * CHANGED: Rename "Category" in the expiration options to use a more generic term: "Taxonomy";
87
+ * CHANGED: Fixed typo in the classical metabox (classical editor);
88
+ * FIXED: Fix bulk edit when expiration is not enabled for the post type, #281;
89
+ * FIXED: Fix custom taxonomies support, #50;
90
+
91
  = [2.7.7] - 14 Jul, 2022 =
92
 
93
  * ADDED: Add post meta "expiration_log" with expiration log data when post expires;
vendor/autoload.php CHANGED
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
- return ComposerAutoloaderInit1acbdeea52588e32cf1e526db88bc941::getLoader();
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
+ return ComposerAutoloaderInita29fda89681b0e16b29b1d03f8491329::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit1acbdeea52588e32cf1e526db88bc941
6
  {
7
  private static $loader;
8
 
@@ -24,18 +24,18 @@ class ComposerAutoloaderInit1acbdeea52588e32cf1e526db88bc941
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit1acbdeea52588e32cf1e526db88bc941', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit1acbdeea52588e32cf1e526db88bc941', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
- call_user_func(\Composer\Autoload\ComposerStaticInit1acbdeea52588e32cf1e526db88bc941::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
36
- $includeFiles = \Composer\Autoload\ComposerStaticInit1acbdeea52588e32cf1e526db88bc941::$files;
37
  foreach ($includeFiles as $fileIdentifier => $file) {
38
- composerRequire1acbdeea52588e32cf1e526db88bc941($fileIdentifier, $file);
39
  }
40
 
41
  return $loader;
@@ -47,7 +47,7 @@ class ComposerAutoloaderInit1acbdeea52588e32cf1e526db88bc941
47
  * @param string $file
48
  * @return void
49
  */
50
- function composerRequire1acbdeea52588e32cf1e526db88bc941($fileIdentifier, $file)
51
  {
52
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
53
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInita29fda89681b0e16b29b1d03f8491329
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInita29fda89681b0e16b29b1d03f8491329', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInita29fda89681b0e16b29b1d03f8491329', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
+ call_user_func(\Composer\Autoload\ComposerStaticInita29fda89681b0e16b29b1d03f8491329::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
36
+ $includeFiles = \Composer\Autoload\ComposerStaticInita29fda89681b0e16b29b1d03f8491329::$files;
37
  foreach ($includeFiles as $fileIdentifier => $file) {
38
+ composerRequirea29fda89681b0e16b29b1d03f8491329($fileIdentifier, $file);
39
  }
40
 
41
  return $loader;
47
  * @param string $file
48
  * @return void
49
  */
50
+ function composerRequirea29fda89681b0e16b29b1d03f8491329($fileIdentifier, $file)
51
  {
52
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
53
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit1acbdeea52588e32cf1e526db88bc941
8
  {
9
  public static $files = array (
10
  '41c664bd04a95c2d6a2f2a3e00f06593' => __DIR__ . '/..' . '/publishpress/wordpress-reviews/ReviewsController.php',
@@ -18,7 +18,7 @@ class ComposerStaticInit1acbdeea52588e32cf1e526db88bc941
18
  public static function getInitializer(ClassLoader $loader)
19
  {
20
  return \Closure::bind(function () use ($loader) {
21
- $loader->classMap = ComposerStaticInit1acbdeea52588e32cf1e526db88bc941::$classMap;
22
 
23
  }, null, ClassLoader::class);
24
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInita29fda89681b0e16b29b1d03f8491329
8
  {
9
  public static $files = array (
10
  '41c664bd04a95c2d6a2f2a3e00f06593' => __DIR__ . '/..' . '/publishpress/wordpress-reviews/ReviewsController.php',
18
  public static function getInitializer(ClassLoader $loader)
19
  {
20
  return \Closure::bind(function () use ($loader) {
21
+ $loader->classMap = ComposerStaticInita29fda89681b0e16b29b1d03f8491329::$classMap;
22
 
23
  }, null, ClassLoader::class);
24
  }
vendor/composer/installed.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php return array(
2
  'root' => array(
3
  'name' => 'publishpress/publishpress-future',
4
- 'pretty_version' => 'dev-develop',
5
- 'version' => 'dev-develop',
6
- 'reference' => '73492bdda53db6e5f6ab2b85c0cf65dffe5ba520',
7
  'type' => 'wordpress-plugin',
8
  'install_path' => __DIR__ . '/../../',
9
  'aliases' => array(),
@@ -11,9 +11,9 @@
11
  ),
12
  'versions' => array(
13
  'publishpress/publishpress-future' => array(
14
- 'pretty_version' => 'dev-develop',
15
- 'version' => 'dev-develop',
16
- 'reference' => '73492bdda53db6e5f6ab2b85c0cf65dffe5ba520',
17
  'type' => 'wordpress-plugin',
18
  'install_path' => __DIR__ . '/../../',
19
  'aliases' => array(),
1
  <?php return array(
2
  'root' => array(
3
  'name' => 'publishpress/publishpress-future',
4
+ 'pretty_version' => 'dev-main',
5
+ 'version' => 'dev-main',
6
+ 'reference' => '8a3604c2db38d2a1b8fc2db78910aaa93fbc3172',
7
  'type' => 'wordpress-plugin',
8
  'install_path' => __DIR__ . '/../../',
9
  'aliases' => array(),
11
  ),
12
  'versions' => array(
13
  'publishpress/publishpress-future' => array(
14
+ 'pretty_version' => 'dev-main',
15
+ 'version' => 'dev-main',
16
+ 'reference' => '8a3604c2db38d2a1b8fc2db78910aaa93fbc3172',
17
  'type' => 'wordpress-plugin',
18
  'install_path' => __DIR__ . '/../../',
19
  'aliases' => array(),
views/bulk-edit.php CHANGED
@@ -125,7 +125,7 @@ $minute = $defaults['minute'];
125
  <span class="title"><?php
126
  echo esc_html($tax_label); ?></span>
127
  <span class="screen-reader-text"><?php
128
- esc_html_e('Expiration Categories', 'post-expirator'); ?></span>
129
  </legend>
130
  <ul id="categorychecklist"
131
  class="list:category categorychecklist cat-checklist category-checklist">
125
  <span class="title"><?php
126
  echo esc_html($tax_label); ?></span>
127
  <span class="screen-reader-text"><?php
128
+ esc_html_e('Expiration Taxonomies', 'post-expirator'); ?></span>
129
  </legend>
130
  <ul id="categorychecklist"
131
  class="list:category categorychecklist cat-checklist category-checklist">
views/classic-metabox.php CHANGED
@@ -132,7 +132,7 @@ echo empty($enabled) ? 'none' : 'flex'; ?>">
132
  }
133
 
134
  echo '<div id="expired-category-selection" style="display: ' . esc_attr($catdisplay) . '">';
135
- echo '<br/>' . esc_html__('Expiration Categories', 'post-expirator') . ':<br/>';
136
 
137
  echo '<div class="wp-tab-panel" id="post-expirator-cat-list">';
138
  echo '<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">';
@@ -142,7 +142,7 @@ echo empty($enabled) ? 'none' : 'flex'; ?>">
142
 
143
  if (sizeof($taxonomies) === 0) {
144
  echo '<p>' . esc_html__(
145
- 'You must assign a heirarchical taxonomy to this post type to use this feature.',
146
  'post-expirator'
147
  ) . '</p>';
148
  } elseif (sizeof($taxonomies) > 1 && ! isset($defaultsOption['taxonomy'])) {
@@ -159,7 +159,7 @@ echo empty($enabled) ? 'none' : 'flex'; ?>">
159
  'selected_cats' => $categories,
160
  'checked_ontop' => false
161
  ));
162
- echo '<input type="hidden" name="taxonomy-heirarchical" value="' . esc_attr($taxonomy) . '" />';
163
  }
164
  echo '</ul>';
165
  echo '</div>';
132
  }
133
 
134
  echo '<div id="expired-category-selection" style="display: ' . esc_attr($catdisplay) . '">';
135
+ echo '<br/>' . esc_html__('Expiration Taxonomies', 'post-expirator') . ':<br/>';
136
 
137
  echo '<div class="wp-tab-panel" id="post-expirator-cat-list">';
138
  echo '<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">';
142
 
143
  if (sizeof($taxonomies) === 0) {
144
  echo '<p>' . esc_html__(
145
+ 'You must assign a hierarchical taxonomy to this post type to use this feature.',
146
  'post-expirator'
147
  ) . '</p>';
148
  } elseif (sizeof($taxonomies) > 1 && ! isset($defaultsOption['taxonomy'])) {
159
  'selected_cats' => $categories,
160
  'checked_ontop' => false
161
  ));
162
+ echo '<input type="hidden" name="taxonomy-hierarchical" value="' . esc_attr($taxonomy) . '" />';
163
  }
164
  echo '</ul>';
165
  echo '</div>';
views/how-to-expire.php CHANGED
@@ -1,57 +1,56 @@
1
  <?php
2
  defined('ABSPATH') or die('Direct access not allowed.');
3
 
4
- // @TODO remove extract
5
- extract($opts);
6
-
7
- if (! isset($name)) {
8
  return false;
9
  }
10
- if (! isset($id)) {
11
- $id = $name;
12
  }
13
- if (! isset($type)) {
14
- $type = '';
15
  }
16
 
17
- // maybe settings have not been configured
18
- if (empty($type) && isset($opts['post_type'])) {
19
- $type = $opts['post_type'];
20
  }
21
 
22
  ?>
23
- <select name="<?php
24
- echo esc_attr($name); ?>" id="<?php
25
- echo esc_attr($id); ?>" class="pe-howtoexpire">
26
- <option value="draft" <?php
27
- echo $selected === 'draft' ? 'selected="selected"' : ''; ?>><?php
28
- esc_html_e('Draft', 'post-expirator'); ?></option>
29
- <option value="delete" <?php
30
- echo $selected === 'delete' ? 'selected="selected"' : ''; ?>><?php
31
- esc_html_e('Delete', 'post-expirator'); ?></option>
32
- <option value="trash" <?php
33
- echo $selected === 'trash' ? 'selected="selected"' : ''; ?>><?php
34
- esc_html_e('Trash', 'post-expirator'); ?></option>
35
- <option value="private" <?php
36
- echo $selected === 'private' ? 'selected="selected"' : ''; ?>><?php
37
- esc_html_e('Private', 'post-expirator'); ?></option>
38
- <option value="stick" <?php
39
- echo $selected === 'stick' ? 'selected="selected"' : ''; ?>><?php
40
- esc_html_e('Stick', 'post-expirator'); ?></option>
41
- <option value="unstick" <?php
42
- echo $selected === 'unstick' ? 'selected="selected"' : ''; ?>><?php
43
- esc_html_e('Unstick', 'post-expirator'); ?></option>
44
- <?php
45
- if ($type !== 'page') { ?>
46
- <option value="category" <?php
47
- echo $selected === 'category' ? 'selected="selected"' : ''; ?>><?php
48
- esc_html_e('Category: Replace', 'post-expirator'); ?></option>
49
- <option value="category-add" <?php
50
- echo $selected === 'category-add' ? 'selected="selected"' : ''; ?>><?php
51
- esc_html_e('Category: Add', 'post-expirator'); ?></option>
52
- <option value="category-remove" <?php
53
- echo $selected === 'category-remove' ? 'selected="selected"' : ''; ?>><?php
54
- esc_html_e('Category: Remove', 'post-expirator'); ?></option>
55
- <?php
56
- } ?>
 
 
57
  </select>
1
  <?php
2
  defined('ABSPATH') or die('Direct access not allowed.');
3
 
4
+ if (! isset($opts['name'])) {
 
 
 
5
  return false;
6
  }
7
+ if (! isset($opts['id'])) {
8
+ $opts['id'] = $opts['name'];
9
  }
10
+ if (! isset($opts['type'])) {
11
+ $opts['type'] = '';
12
  }
13
 
14
+ // Maybe settings have not been configured.
15
+ if (empty($opts['type']) && isset($opts['post_type'])) {
16
+ $opts['type'] = $opts['post_type'];
17
  }
18
 
19
  ?>
20
+ <select name="<?php echo esc_attr($opts['name']); ?>" id="<?php echo esc_attr($opts['id']); ?>" class="pe-howtoexpire">
21
+ <option value="draft" <?php selected($opts['selected'], 'draft', true); ?>>
22
+ <?php esc_html_e('Draft', 'post-expirator'); ?>
23
+ </option>
24
+
25
+ <option value="delete" <?php selected($opts['selected'], 'delete', true); ?>>
26
+ <?php esc_html_e('Delete', 'post-expirator'); ?>
27
+ </option>
28
+
29
+ <option value="trash" <?php selected($opts['selected'], 'trash', true); ?>>
30
+ <?php esc_html_e('Trash', 'post-expirator'); ?>
31
+ </option>
32
+
33
+ <option value="private" <?php selected($opts['selected'], 'private', true); ?>>
34
+ <?php esc_html_e('Private', 'post-expirator'); ?>
35
+ </option>
36
+
37
+ <option value="stick" <?php selected($opts['selected'], 'stick', true); ?>>
38
+ <?php esc_html_e('Stick', 'post-expirator'); ?>
39
+ </option>
40
+
41
+ <option value="unstick" <?php selected($opts['selected'], 'unstick', true); ?>>
42
+ <?php esc_html_e('Unstick', 'post-expirator'); ?>
43
+ </option>
44
+
45
+ <option value="category" <?php selected($opts['selected'], 'category', true); ?>>
46
+ <?php esc_html_e('Taxonomy: Replace', 'post-expirator'); ?>
47
+ </option>
48
+
49
+ <option value="category-add" <?php selected($opts['selected'], 'category-add', true); ?>>
50
+ <?php esc_html_e('Taxonomy: Add', 'post-expirator'); ?>
51
+ </option>
52
+
53
+ <option value="category-remove" <?php selected($opts['selected'], 'category-remove', true); ?>>
54
+ <?php esc_html_e('Taxonomy: Remove', 'post-expirator'); ?>
55
+ </option>
56
  </select>
views/menu-general.php CHANGED
@@ -137,7 +137,7 @@ $plugin_facade = PostExpirator_Facade::getInstance();
137
  </tr>
138
  <tr valign="top">
139
  <th scope="row"><?php
140
- esc_html_e('Default Expiration Category', 'post-expirator'); ?></th>
141
  <td>
142
  <?php
143
  echo '<div class="wp-tab-panel" id="post-expirator-cat-list">';
137
  </tr>
138
  <tr valign="top">
139
  <th scope="row"><?php
140
+ esc_html_e('Default Expiration Taxonomy', 'post-expirator'); ?></th>
141
  <td>
142
  <?php
143
  echo '<div class="wp-tab-panel" id="post-expirator-cat-list">';
views/quick-edit.php CHANGED
@@ -89,7 +89,7 @@ defined('ABSPATH') or die('Direct access not allowed.');
89
  <span class="title"><?php
90
  echo esc_html($tax_label); ?></span>
91
  <span class="screen-reader-text"><?php
92
- esc_html_e('Expiration Categories', 'post-expirator'); ?></span>
93
  </legend>
94
  <ul id="categorychecklist"
95
  class="list:category categorychecklist cat-checklist category-checklist">
89
  <span class="title"><?php
90
  echo esc_html($tax_label); ?></span>
91
  <span class="screen-reader-text"><?php
92
+ esc_html_e('Expiration Taxonomies', 'post-expirator'); ?></span>
93
  </legend>
94
  <ul id="categorychecklist"
95
  class="list:category categorychecklist cat-checklist category-checklist">