Post Expirator - Version 2.7.0

Version Description

Download this release

Release Info

Developer stevejburge
Plugin Icon 128x128 Post Expirator
Version 2.7.0
Comparing to
See all releases

Code changes from version 2.6.3 to 2.7.0

assets/css/settings.css CHANGED
@@ -1,29 +1,29 @@
1
  ul.pe-list {
2
- list-style: disc !important;
3
  }
4
 
5
  ul.pe-list > li {
6
- margin-left: 3%;
7
  }
8
 
9
  .pe-scroll {
10
- height: 300px;
11
- overflow-y: scroll;
12
  }
13
 
14
  .pe-scroll > table td {
15
- padding: 5px;
16
  }
17
 
18
  tr.pe-event {
19
- background-color: #ddd !important;
20
  }
21
 
22
  #pe-settings-tabs fieldset {
23
- border: 1px solid black;
24
- border-radius: 6px;
25
- padding: 0 12px;
26
- margin-bottom: 20px;
27
  }
28
 
29
  .pe-checklist label {
@@ -53,4 +53,89 @@ tr.pe-event {
53
 
54
  .pe-status + span + input[type="submit"] {
55
  margin-right: 10px;
56
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ul.pe-list {
2
+ list-style: disc !important;
3
  }
4
 
5
  ul.pe-list > li {
6
+ margin-left: 3%;
7
  }
8
 
9
  .pe-scroll {
10
+ height: 300px;
11
+ overflow-y: scroll;
12
  }
13
 
14
  .pe-scroll > table td {
15
+ padding: 5px;
16
  }
17
 
18
  tr.pe-event {
19
+ background-color: #ddd !important;
20
  }
21
 
22
  #pe-settings-tabs fieldset {
23
+ border: 1px solid black;
24
+ border-radius: 6px;
25
+ padding: 0px 12px;
26
+ margin-bottom: 20px;
27
  }
28
 
29
  .pe-checklist label {
53
 
54
  .pe-status + span + input[type="submit"] {
55
  margin-right: 10px;
56
+ }
57
+
58
+
59
+ /* Footer */
60
+
61
+ footer {
62
+ text-align: center;
63
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
64
+ padding-top: 30px;
65
+ }
66
+
67
+ footer .pp-rating {
68
+ font-size: 12px;
69
+ margin-bottom: 10px;
70
+ margin-top: 30px;
71
+ }
72
+
73
+ footer .pp-rating a,
74
+ footer .pp-rating a:visited,
75
+ footer .pp-rating a:active,
76
+ footer .pp-rating a:hover {
77
+ text-decoration: none;
78
+ }
79
+
80
+ .pp-rating a:hover,
81
+ .pp-rating a:active,
82
+ .pp-rating a:focus,
83
+ footer * {
84
+ color: #777;
85
+ }
86
+
87
+ footer hr {
88
+ border: 0;
89
+ border-top: 1px solid #ddd;
90
+ border-bottom: 1px solid #fafafa;
91
+ }
92
+
93
+ footer > nav {
94
+ margin-top: 1em;
95
+ margin-bottom: 1em;
96
+ }
97
+
98
+ footer > nav ul {
99
+ list-style: none;
100
+ }
101
+
102
+ footer > nav ul > li {
103
+ display: inline-block;
104
+ }
105
+
106
+ footer > nav ul > li:not(:first-child) {
107
+ margin-left: 15px;
108
+ }
109
+
110
+ footer > nav ul > li > a {
111
+ font-weight: bold;
112
+ text-decoration: none;
113
+ }
114
+
115
+ footer > nav ul > li > a:hover,
116
+ footer > nav ul > li > a:focus,
117
+ footer > nav ul > li > a:active {
118
+ color: #655997;
119
+ }
120
+
121
+ footer > nav ul > li > a span.dashicons:hover,
122
+ footer > nav ul > li > a span.dashicons:focus,
123
+ footer > nav ul > li > a span.dashicons:active {
124
+ color: #655997;
125
+ }
126
+
127
+ footer .dashicons.dashicons-star-filled {
128
+ line-height: 18px;
129
+ font-size: 12px;
130
+ width: 12px;
131
+ height: 12px;
132
+ color: #ffb300 !important;
133
+ -webkit-transition: color 200ms ease-in-out;
134
+ -moz-transition: color 200ms ease-in-out;
135
+ -o-transition: color 200ms ease-in-out;
136
+ transition: color 200ms ease-in-out;
137
+ }
138
+
139
+ footer .pp-pressshack-logo img {
140
+ width: 170px;
141
+ }
assets/images/publishpress-future-256.png ADDED
Binary file
assets/images/publishpress-logo.png ADDED
Binary file
assets/img/post-expirator-wp-logo.png DELETED
Binary file
assets/js/admin-edit.js CHANGED
@@ -69,31 +69,31 @@
69
  var $edit_row = $('#edit-' + $post_id);
70
 
71
  // get / set year
72
- var $year = $('#expirationdate_year-' + $post_id).text();
73
  $edit_row.find('input[name="expirationdate_year"]').val($year);
74
 
75
  // get / set month
76
- var $month = $('#expirationdate_month-' + $post_id).text();
77
  $edit_row.find('select[name="expirationdate_month"]').val($month);
78
 
79
  // get / set day
80
- var $day = $('#expirationdate_day-' + $post_id).text();
81
  $edit_row.find('input[name="expirationdate_day"]').val($day);
82
 
83
  // get / set hour
84
- var $hour = $('#expirationdate_hour-' + $post_id).text();
85
  $edit_row.find('input[name="expirationdate_hour"]').val($hour);
86
 
87
  // get / set minute
88
- var $minute = $('#expirationdate_minute-' + $post_id).text();
89
  $edit_row.find('input[name="expirationdate_minute"]').val($minute);
90
 
91
  // expire type
92
- var $type = $('#expirationdate_expireType-' + $post_id).text();
93
  $edit_row.find('select[name="expirationdate_expiretype"]').val($type);
94
 
95
  // enabled or not
96
- var $enabled = $('#expirationdate_enabled-' + $post_id).text();
97
  if ($enabled == "true") {
98
  $edit_row.find('input[name="enable-expirationdate"]').prop('checked', true);
99
  $edit_row.find('.pe-qe-fields').show();
@@ -101,7 +101,7 @@
101
 
102
  // categories
103
  $edit_row.find('input[name="expirationdate_category[]"]').prop('checked', false);
104
- var $categories = $('#expirationdate_categories-' + $post_id).text();
105
  if ($categories !== '') {
106
  $.each($categories.split(','), function (index, value) {
107
  $edit_row.find('input[name="expirationdate_category[]"][value="' + value + '"]').prop('checked', true);
69
  var $edit_row = $('#edit-' + $post_id);
70
 
71
  // get / set year
72
+ var $year = $('#expirationdate_year-' + $post_id).val();
73
  $edit_row.find('input[name="expirationdate_year"]').val($year);
74
 
75
  // get / set month
76
+ var $month = $('#expirationdate_month-' + $post_id).val();
77
  $edit_row.find('select[name="expirationdate_month"]').val($month);
78
 
79
  // get / set day
80
+ var $day = $('#expirationdate_day-' + $post_id).val();
81
  $edit_row.find('input[name="expirationdate_day"]').val($day);
82
 
83
  // get / set hour
84
+ var $hour = $('#expirationdate_hour-' + $post_id).val();
85
  $edit_row.find('input[name="expirationdate_hour"]').val($hour);
86
 
87
  // get / set minute
88
+ var $minute = $('#expirationdate_minute-' + $post_id).val();
89
  $edit_row.find('input[name="expirationdate_minute"]').val($minute);
90
 
91
  // expire type
92
+ var $type = $('#expirationdate_expireType-' + $post_id).val();
93
  $edit_row.find('select[name="expirationdate_expiretype"]').val($type);
94
 
95
  // enabled or not
96
+ var $enabled = $('#expirationdate_enabled-' + $post_id).val();
97
  if ($enabled == "true") {
98
  $edit_row.find('input[name="enable-expirationdate"]').prop('checked', true);
99
  $edit_row.find('.pe-qe-fields').show();
101
 
102
  // categories
103
  $edit_row.find('input[name="expirationdate_category[]"]').prop('checked', false);
104
+ var $categories = $('#expirationdate_categories-' + $post_id).val();
105
  if ($categories !== '') {
106
  $.each($categories.split(','), function (index, value) {
107
  $edit_row.find('input[name="expirationdate_category[]"][value="' + value + '"]').prop('checked', true);
classes/Display.class.php CHANGED
@@ -11,12 +11,16 @@ class PostExpirator_Display
11
  */
12
  private static $instance = null;
13
 
 
 
14
  /**
15
  * Constructor.
16
  */
17
  private function __construct()
18
  {
19
  $this->hooks();
 
 
20
  }
21
 
22
  /**
@@ -24,7 +28,8 @@ class PostExpirator_Display
24
  */
25
  private function hooks()
26
  {
27
- add_action('admin_menu', array($this, 'add_menu'));
 
28
  }
29
 
30
  /**
@@ -39,24 +44,38 @@ class PostExpirator_Display
39
  return self::$instance;
40
  }
41
 
 
 
 
 
 
42
  /**
43
  * Add plugin page menu.
44
  */
45
  public function add_menu()
46
  {
47
- add_submenu_page(
48
- 'options-general.php',
49
- __('Post Expirator Options', 'post-expirator'),
50
- __('Post Expirator', 'post-expirator'),
51
  'manage_options',
52
- POSTEXPIRATOR_BASENAME,
53
- array(
54
- self::$instance,
55
- 'settings_tabs'
56
- )
57
  );
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
 
60
  /**
61
  * Creates the settings page.
62
  */
@@ -64,153 +83,124 @@ class PostExpirator_Display
64
  {
65
  PostExpirator_Facade::load_assets('settings');
66
 
 
67
  $tab = isset($_GET['tab']) ? $_GET['tab'] : '';
68
- if (empty($tab)) {
69
  $tab = 'general';
70
  }
71
 
72
- $tab_index = 0;
73
-
74
  ob_start();
75
-
76
- switch ($tab) {
77
- case 'general':
78
- $tab_index = 0;
79
- $this->load_tab('general');
80
- break;
81
- case 'defaults':
82
- $this->load_tab('defaults');
83
- $tab_index = 1;
84
- break;
85
- case 'diagnostics':
86
- $this->load_tab('diagnostics');
87
- $tab_index = 2;
88
- break;
89
- case 'viewdebug':
90
- $this->load_tab('viewdebug');
91
- $tab_index = 3;
92
- break;
93
- }
94
-
95
  $html = ob_get_clean();
96
 
97
  $debug = postexpirator_debug(); // check for/load debug
98
 
99
- $tabs = array('general', 'defaults', 'diagnostics');
100
- if (POSTEXPIRATOR_DEBUG) {
101
- $tabs[] = 'viewdebug';
102
  }
103
 
104
- $this->render_template('tabs', array(
105
- 'tabs' => $tabs,
106
- 'tab_index' => $tab_index,
107
- 'html' => $html,
108
- 'tab' => $tab
109
- ));
110
  }
111
 
112
  /**
113
- * Loads the specified tab.
114
  */
115
- public function load_tab($tab)
116
  {
117
- switch ($tab) {
118
- case 'general':
119
- $this->menu_general();
120
- break;
121
- case 'defaults':
122
- $this->menu_defaults();
123
- break;
124
- case 'diagnostics':
125
- $this->menu_diagnostics();
126
- break;
127
- case 'viewdebug':
128
- $this->menu_viewdebug();
129
- break;
130
  }
 
 
131
  }
132
 
133
  /**
134
- * Show the Expiration Date options page
135
  */
136
- private function menu_general()
137
  {
138
- if (isset($_POST['expirationdateSave']) && $_POST['expirationdateSave']) {
139
- if (
140
- ! isset($_POST['_postExpiratorMenuGeneral_nonce']) || ! wp_verify_nonce(
141
- $_POST['_postExpiratorMenuGeneral_nonce'],
142
- 'postexpirator_menu_general'
143
- )
144
- ) {
145
  print 'Form Validation Failure: Sorry, your nonce did not verify.';
146
  exit;
147
  } else {
148
  // Filter Content
149
  $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
150
 
151
- update_option('expirationdateDefaultDateFormat', $_POST['expired-default-date-format']);
152
- update_option('expirationdateDefaultTimeFormat', $_POST['expired-default-time-format']);
153
  update_option('expirationdateDisplayFooter', $_POST['expired-display-footer']);
154
- update_option('expirationdateEmailNotification', $_POST['expired-email-notification']);
155
- update_option('expirationdateEmailNotificationAdmins', $_POST['expired-email-notification-admins']);
156
- update_option('expirationdateEmailNotificationList', trim($_POST['expired-email-notification-list']));
157
  update_option('expirationdateFooterContents', $_POST['expired-footer-contents']);
158
  update_option('expirationdateFooterStyle', $_POST['expired-footer-style']);
159
- update_option('expirationdateGutenbergSupport', $_POST['gutenberg-support']);
160
- update_option('expirationdatePreserveData', (bool)$_POST['expired-preserve-data-deactivating']);
161
- update_option(
162
- 'expirationdateCategoryDefaults',
163
- isset($_POST['expirationdate_category']) ? $_POST['expirationdate_category'] : array()
164
- );
165
- update_option('expirationdateDefaultDate', $_POST['expired-default-expiration-date']);
166
- if ($_POST['expired-custom-expiration-date']) {
167
- update_option('expirationdateDefaultDateCustom', $_POST['expired-custom-expiration-date']);
168
- }
169
-
170
- if (! isset($_POST['allow-user-roles']) || ! is_array($_POST['allow-user-roles'])) {
171
- $_POST['allow-user-roles'] = array();
172
- }
173
-
174
- $user_roles = wp_roles()->get_names();
175
-
176
- foreach ($user_roles as $role_name => $role_label) {
177
- $role = get_role($role_name);
178
-
179
- if (! is_a($role, WP_Role::class)) {
180
- continue;
181
- }
182
 
183
- if ($role_name === 'administrator' || in_array($role_name, $_POST['allow-user-roles'], true)) {
184
- $role->add_cap(PostExpirator_Facade::DEFAULT_CAPABILITY_EXPIRE_POST);
185
- } else {
186
- $role->remove_cap(PostExpirator_Facade::DEFAULT_CAPABILITY_EXPIRE_POST);
187
- }
188
- }
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  echo "<div id='message' class='updated fade'><p>";
191
- _e('Saved Options!', 'post-expirator');
 
 
 
 
 
 
 
 
 
 
 
 
192
  echo '</p></div>';
193
  }
194
  }
195
 
196
- $this->render_template('menu-general');
 
 
197
  }
198
 
199
  /**
200
- * Renders a named template, if it is found.
201
  */
202
- public function render_template($name, $params = null)
203
  {
204
- $template = POSTEXPIRATOR_BASEDIR . "/views/{$name}.php";
205
- if (file_exists($template)) {
206
- // expand all parameters so that they can be directly accessed with their name.
207
- if ($params) {
208
- foreach ($params as $param => $value) {
209
- $$param = $value;
210
- }
211
- }
212
- include $template;
213
- }
214
  }
215
 
216
  /**
@@ -223,12 +213,10 @@ class PostExpirator_Display
223
  $defaults = array();
224
 
225
  if (isset($_POST['expirationdateSaveDefaults'])) {
226
- if (
227
- ! isset($_POST['_postExpiratorMenuDefaults_nonce']) || ! wp_verify_nonce(
228
  $_POST['_postExpiratorMenuDefaults_nonce'],
229
  'postexpirator_menu_defaults'
230
- )
231
- ) {
232
  print 'Form Validation Failure: Sorry, your nonce did not verify.';
233
  exit;
234
  } else {
@@ -270,56 +258,201 @@ class PostExpirator_Display
270
  }
271
 
272
  /**
273
- * Diagnostics menu.
274
  */
275
- private function menu_diagnostics()
276
  {
277
- if ($_SERVER['REQUEST_METHOD'] === 'POST') {
278
  if (
279
- ! isset($_POST['_postExpiratorMenuDiagnostics_nonce']) || ! wp_verify_nonce(
280
- $_POST['_postExpiratorMenuDiagnostics_nonce'],
281
- 'postexpirator_menu_diagnostics'
282
  )
283
  ) {
284
  print 'Form Validation Failure: Sorry, your nonce did not verify.';
285
  exit;
286
- }
287
- if (isset($_POST['debugging-disable'])) {
288
- update_option('expirationdateDebug', 0);
289
- echo "<div id='message' class='updated fade'><p>";
290
- _e('Debugging Disabled', 'post-expirator');
291
- echo '</p></div>';
292
- } elseif (isset($_POST['debugging-enable'])) {
293
- update_option('expirationdateDebug', 1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  echo "<div id='message' class='updated fade'><p>";
295
- _e('Debugging Enabled', 'post-expirator');
296
  echo '</p></div>';
297
- } elseif (isset($_POST['purge-debug'])) {
298
- require_once(POSTEXPIRATOR_BASEDIR . '/post-expirator-debug.php');
299
- $debug = new PostExpiratorDebug();
300
- $debug->purge();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  echo "<div id='message' class='updated fade'><p>";
302
- _e('Debugging Table Emptied', 'post-expirator');
303
  echo '</p></div>';
304
  }
305
  }
306
 
307
- $debug = postexpirator_debug();
 
308
 
309
- $this->render_template('menu-diagnostics');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
310
  }
311
 
312
  /**
313
- * Debug menu.
314
  */
315
- private function menu_viewdebug()
316
  {
317
- require_once POSTEXPIRATOR_BASEDIR . '/post-expirator-debug.php';
318
- print '<p>' . __(
319
- 'Below is a dump of the debugging table, this should be useful for troubleshooting.',
320
- 'post-expirator'
321
- ) . '</p>';
322
- $debug = new PostExpiratorDebug();
323
- $debug->getTable();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
324
  }
325
  }
11
  */
12
  private static $instance = null;
13
 
14
+ private $renamingWarningInstance = null;
15
+
16
  /**
17
  * Constructor.
18
  */
19
  private function __construct()
20
  {
21
  $this->hooks();
22
+
23
+ $this->renamingWarningInstance = new PostExpirator_RenamingWarning();
24
  }
25
 
26
  /**
28
  */
29
  private function hooks()
30
  {
31
+ add_action('admin_menu', [$this, 'add_menu']);
32
+ add_action('init', [$this, 'init']);
33
  }
34
 
35
  /**
44
  return self::$instance;
45
  }
46
 
47
+ public function init()
48
+ {
49
+ $this->renamingWarningInstance->init();
50
+ }
51
+
52
  /**
53
  * Add plugin page menu.
54
  */
55
  public function add_menu()
56
  {
57
+ add_menu_page(
58
+ __('PublishPress Future Options', 'post-expirator'),
59
+ __('Future', 'post-expirator'),
 
60
  'manage_options',
61
+ 'publishpress-future',
62
+ array(self::$instance, 'settings_tabs'),
63
+ 'dashicons-clock',
64
+ 74
 
65
  );
66
  }
67
 
68
+ /**
69
+ * Loads the specified tab.
70
+ *
71
+ * Make sure the name of the file is menu_{$tab}.php.
72
+ */
73
+ public function load_tab($tab)
74
+ {
75
+ $function = 'menu_' . $tab;
76
+ $this->$function();
77
+ }
78
+
79
  /**
80
  * Creates the settings page.
81
  */
83
  {
84
  PostExpirator_Facade::load_assets('settings');
85
 
86
+ $allowed_tabs = array('general', 'defaults', 'display', 'editor', 'diagnostics', 'viewdebug', 'advanced');
87
  $tab = isset($_GET['tab']) ? $_GET['tab'] : '';
88
+ if (empty($tab) || ! in_array($tab, $allowed_tabs, true)) {
89
  $tab = 'general';
90
  }
91
 
 
 
92
  ob_start();
93
+ $this->load_tab($tab);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  $html = ob_get_clean();
95
 
96
  $debug = postexpirator_debug(); // check for/load debug
97
 
98
+ if (! POSTEXPIRATOR_DEBUG) {
99
+ unset($allowed_tabs['viewdebug']);
 
100
  }
101
 
102
+ $this->render_template('tabs', array('tabs' => $allowed_tabs, 'html' => $html, 'tab' => $tab));
103
+
104
+ $this->publishpress_footer();
 
 
 
105
  }
106
 
107
  /**
108
+ * Editor menu.
109
  */
110
+ private function menu_editor()
111
  {
112
+ if (isset($_POST['expirationdateSaveEditor']) && $_POST['expirationdateSaveEditor']) {
113
+ if (! isset($_POST['_postExpiratorMenuEditor_nonce']) || ! wp_verify_nonce(
114
+ $_POST['_postExpiratorMenuEditor_nonce'],
115
+ 'postexpirator_menu_editor'
116
+ )) {
117
+ print 'Form Validation Failure: Sorry, your nonce did not verify.';
118
+ exit;
119
+ } else {
120
+ // Filter Content
121
+ $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
122
+ update_option('expirationdateGutenbergSupport', $_POST['gutenberg-support']);
123
+ }
 
124
  }
125
+
126
+ $this->render_template('menu-editor');
127
  }
128
 
129
  /**
130
+ * Display menu.
131
  */
132
+ private function menu_display()
133
  {
134
+ if (isset($_POST['expirationdateSaveDisplay']) && $_POST['expirationdateSaveDisplay']) {
135
+ if (! isset($_POST['_postExpiratorMenuDisplay_nonce']) || ! wp_verify_nonce(
136
+ $_POST['_postExpiratorMenuDisplay_nonce'],
137
+ 'postexpirator_menu_display'
138
+ )) {
 
 
139
  print 'Form Validation Failure: Sorry, your nonce did not verify.';
140
  exit;
141
  } else {
142
  // Filter Content
143
  $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
144
 
 
 
145
  update_option('expirationdateDisplayFooter', $_POST['expired-display-footer']);
 
 
 
146
  update_option('expirationdateFooterContents', $_POST['expired-footer-contents']);
147
  update_option('expirationdateFooterStyle', $_POST['expired-footer-style']);
148
+ }
149
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
 
151
+ $this->render_template('menu-display');
152
+ }
 
 
 
 
153
 
154
+ /**
155
+ * Diagnostics menu.
156
+ */
157
+ private function menu_diagnostics()
158
+ {
159
+ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
160
+ if (! isset($_POST['_postExpiratorMenuDiagnostics_nonce']) || ! wp_verify_nonce(
161
+ $_POST['_postExpiratorMenuDiagnostics_nonce'],
162
+ 'postexpirator_menu_diagnostics'
163
+ )) {
164
+ print 'Form Validation Failure: Sorry, your nonce did not verify.';
165
+ exit;
166
+ }
167
+ if (isset($_POST['debugging-disable'])) {
168
+ update_option('expirationdateDebug', 0);
169
  echo "<div id='message' class='updated fade'><p>";
170
+ _e('Debugging Disabled', 'post-expirator');
171
+ echo '</p></div>';
172
+ } elseif (isset($_POST['debugging-enable'])) {
173
+ update_option('expirationdateDebug', 1);
174
+ echo "<div id='message' class='updated fade'><p>";
175
+ _e('Debugging Enabled', 'post-expirator');
176
+ echo '</p></div>';
177
+ } elseif (isset($_POST['purge-debug'])) {
178
+ require_once(plugin_dir_path(__FILE__) . 'post-expirator-debug.php');
179
+ $debug = new PostExpiratorDebug();
180
+ $debug->purge();
181
+ echo "<div id='message' class='updated fade'><p>";
182
+ _e('Debugging Table Emptied', 'post-expirator');
183
  echo '</p></div>';
184
  }
185
  }
186
 
187
+ $debug = postexpirator_debug();
188
+
189
+ $this->render_template('menu-diagnostics');
190
  }
191
 
192
  /**
193
+ * Debug menu.
194
  */
195
+ private function menu_viewdebug()
196
  {
197
+ require_once POSTEXPIRATOR_BASEDIR . '/post-expirator-debug.php';
198
+ print '<p>' . __(
199
+ 'Below is a dump of the debugging table, this should be useful for troubleshooting.',
200
+ 'post-expirator'
201
+ ) . '</p>';
202
+ $debug = new PostExpiratorDebug();
203
+ $debug->getTable();
 
 
 
204
  }
205
 
206
  /**
213
  $defaults = array();
214
 
215
  if (isset($_POST['expirationdateSaveDefaults'])) {
216
+ if (! isset($_POST['_postExpiratorMenuDefaults_nonce']) || ! wp_verify_nonce(
 
217
  $_POST['_postExpiratorMenuDefaults_nonce'],
218
  'postexpirator_menu_defaults'
219
+ )) {
 
220
  print 'Form Validation Failure: Sorry, your nonce did not verify.';
221
  exit;
222
  } else {
258
  }
259
 
260
  /**
261
+ * Show the Expiration Date options page
262
  */
263
+ private function menu_general()
264
  {
265
+ if (isset($_POST['expirationdateSave']) && $_POST['expirationdateSave']) {
266
  if (
267
+ ! isset($_POST['_postExpiratorMenuGeneral_nonce']) || ! wp_verify_nonce(
268
+ $_POST['_postExpiratorMenuGeneral_nonce'],
269
+ 'postexpirator_menu_general'
270
  )
271
  ) {
272
  print 'Form Validation Failure: Sorry, your nonce did not verify.';
273
  exit;
274
+ } else {
275
+ // Filter Content
276
+ $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
277
+
278
+ update_option('expirationdateDefaultDateFormat', $_POST['expired-default-date-format']);
279
+ update_option('expirationdateDefaultTimeFormat', $_POST['expired-default-time-format']);
280
+ update_option('expirationdateEmailNotification', $_POST['expired-email-notification']);
281
+ update_option('expirationdateEmailNotificationAdmins', $_POST['expired-email-notification-admins']);
282
+ update_option('expirationdateEmailNotificationList', trim($_POST['expired-email-notification-list']));
283
+ update_option(
284
+ 'expirationdateCategoryDefaults',
285
+ isset($_POST['expirationdate_category']) ? $_POST['expirationdate_category'] : array()
286
+ );
287
+ update_option('expirationdateDefaultDate', $_POST['expired-default-expiration-date']);
288
+ if ($_POST['expired-custom-expiration-date']) {
289
+ update_option('expirationdateDefaultDateCustom', $_POST['expired-custom-expiration-date']);
290
+ }
291
+
292
+ if (! isset($_POST['allow-user-roles']) || ! is_array($_POST['allow-user-roles'])) {
293
+ $_POST['allow-user-roles'] = array();
294
+ }
295
+
296
+ $user_roles = wp_roles()->get_names();
297
+
298
+ foreach ($user_roles as $role_name => $role_label) {
299
+ $role = get_role($role_name);
300
+
301
+ if (! is_a($role, WP_Role::class)) {
302
+ continue;
303
+ }
304
+
305
+ if ($role_name === 'administrator' || in_array($role_name, $_POST['allow-user-roles'], true)) {
306
+ $role->add_cap(PostExpirator_Facade::DEFAULT_CAPABILITY_EXPIRE_POST);
307
+ } else {
308
+ $role->remove_cap(PostExpirator_Facade::DEFAULT_CAPABILITY_EXPIRE_POST);
309
+ }
310
+ }
311
+
312
  echo "<div id='message' class='updated fade'><p>";
313
+ _e('Saved Options!', 'post-expirator');
314
  echo '</p></div>';
315
+ }
316
+ }
317
+
318
+ $this->render_template('menu-general');
319
+ }
320
+
321
+ /**
322
+ * Show the Expiration Date options page
323
+ */
324
+ private function menu_advanced()
325
+ {
326
+ if (isset($_POST['expirationdateSave']) && $_POST['expirationdateSave']) {
327
+ if (
328
+ ! isset($_POST['_postExpiratorMenuAdvanced_nonce']) || ! wp_verify_nonce(
329
+ $_POST['_postExpiratorMenuAdvanced_nonce'],
330
+ 'postexpirator_menu_advanced'
331
+ )
332
+ ) {
333
+ print 'Form Validation Failure: Sorry, your nonce did not verify.';
334
+ exit;
335
+ } else {
336
+ // Filter Content
337
+ $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
338
+
339
+ update_option('expirationdateGutenbergSupport', $_POST['gutenberg-support']);
340
+ update_option('expirationdatePreserveData', (bool)$_POST['expired-preserve-data-deactivating']);
341
+
342
+ if (! isset($_POST['allow-user-roles']) || ! is_array($_POST['allow-user-roles'])) {
343
+ $_POST['allow-user-roles'] = array();
344
+ }
345
+
346
+ $user_roles = wp_roles()->get_names();
347
+
348
+ foreach ($user_roles as $role_name => $role_label) {
349
+ $role = get_role($role_name);
350
+
351
+ if (! is_a($role, WP_Role::class)) {
352
+ continue;
353
+ }
354
+
355
+ if ($role_name === 'administrator' || in_array($role_name, $_POST['allow-user-roles'], true)) {
356
+ $role->add_cap(PostExpirator_Facade::DEFAULT_CAPABILITY_EXPIRE_POST);
357
+ } else {
358
+ $role->remove_cap(PostExpirator_Facade::DEFAULT_CAPABILITY_EXPIRE_POST);
359
+ }
360
+ }
361
+
362
  echo "<div id='message' class='updated fade'><p>";
363
+ _e('Saved Options!', 'post-expirator');
364
  echo '</p></div>';
365
  }
366
  }
367
 
368
+ $this->render_template('menu-advanced');
369
+ }
370
 
371
+ /**
372
+ * Renders a named template, if it is found.
373
+ */
374
+ public function render_template($name, $params = null)
375
+ {
376
+ $template = POSTEXPIRATOR_BASEDIR . "/views/{$name}.php";
377
+ if (file_exists($template)) {
378
+ // expand all parameters so that they can be directly accessed with their name.
379
+ if ($params) {
380
+ foreach ($params as $param => $value) {
381
+ $$param = $value;
382
+ }
383
+ }
384
+ include $template;
385
+ }
386
  }
387
 
388
  /**
389
+ * PublishPress footer
390
  */
391
+ public function publishpress_footer()
392
  {
393
+ ?>
394
+ <footer>
395
+ <div class="pp-rating">
396
+ <a href="https://wordpress.org/support/plugin/post-expirator/reviews/#new-post" target="_blank"
397
+ rel="noopener noreferrer">
398
+ <?php
399
+ printf(
400
+ __('If you like %s, please leave us a %s rating. Thank you!', 'post-expirator'),
401
+ '<strong>PublishPress Future</strong>',
402
+ '<span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span>'
403
+ );
404
+ ?>
405
+ </a>
406
+ </div>
407
+
408
+ <hr>
409
+
410
+ <nav>
411
+ <ul>
412
+ <li>
413
+ <a href="https://publishpress.com/future/" target="_blank" rel="noopener noreferrer"
414
+ title="<?php
415
+ _e('About PublishPress Future', 'post-expirator'); ?>">
416
+ <?php
417
+ _e('About', 'post-expirator'); ?>
418
+ </a>
419
+ </li>
420
+ <li>
421
+ <a href="https://publishpress.com/knowledge-base/introduction-future/" target="_blank"
422
+ rel="noopener noreferrer" title="<?php
423
+ _e('Future Documentation', 'post-expirator'); ?>">
424
+ <?php
425
+ _e('Documentation', 'post-expirator'); ?>
426
+ </a>
427
+ </li>
428
+ <li>
429
+ <a href="https://publishpress.com/contact" target="_blank" rel="noopener noreferrer"
430
+ title="<?php
431
+ _e('Contact the PublishPress team', 'post-expirator'); ?>">
432
+ <?php
433
+ _e('Contact', 'post-expirator'); ?>
434
+ </a>
435
+ </li>
436
+ <li>
437
+ <a href="https://twitter.com/publishpresscom" target="_blank" rel="noopener noreferrer">
438
+ <span class="dashicons dashicons-twitter"></span>
439
+ </a>
440
+ </li>
441
+ <li>
442
+ <a href="https://facebook.com/publishpress" target="_blank" rel="noopener noreferrer">
443
+ <span class="dashicons dashicons-facebook"></span>
444
+ </a>
445
+ </li>
446
+ </ul>
447
+ </nav>
448
+
449
+ <div class="pp-pressshack-logo">
450
+ <a href="https://publishpress.com" target="_blank" rel="noopener noreferrer">
451
+ <img src="<?php
452
+ echo esc_url(plugins_url('assets/images/publishpress-logo.png', dirname(__FILE__))) ?>"/>
453
+ </a>
454
+ </div>
455
+ </footer>
456
+ <?php
457
  }
458
  }
classes/Facade.class.php CHANGED
@@ -131,7 +131,7 @@ class PostExpirator_Facade
131
  /**
132
  * Fires when the post meta is updated (in the gutenberg block).
133
  */
134
- function updatedmeta($meta_id, $post_id, $meta_key, $meta_value)
135
  {
136
  // allow only through gutenberg
137
  if (! PostExpirator_Util::is_gutenberg_active()) {
@@ -234,7 +234,7 @@ class PostExpirator_Facade
234
  /**
235
  * Register the post meta to use in the block.
236
  */
237
- function register_post_meta()
238
  {
239
  $post_types = get_post_types(array('public' => true));
240
  foreach ($post_types as $post_type) {
@@ -322,7 +322,7 @@ class PostExpirator_Facade
322
  /**
323
  * Load the block's backend assets only if the meta box is active for this post type.
324
  */
325
- function block_editor_assets()
326
  {
327
  global $post;
328
 
@@ -371,7 +371,7 @@ class PostExpirator_Facade
371
  'categoryReplace' => __('Category: Replace', 'post-expirator'),
372
  'categoryAdd' => __('Category: Add', 'post-expirator'),
373
  'categoryRemove' => __('Category: Remove', 'post-expirator'),
374
- 'postExpirator' => __('Post Expirator', 'post-expirator'),
375
  'enablePostExpiration' => __('Enable Post Expiration', 'post-expirator'),
376
  'howToExpire' => __('How to expire', 'post-expirator'),
377
  'loading' => __('Loading', 'post-expirator'),
@@ -511,8 +511,13 @@ class PostExpirator_Facade
511
  return array_merge(
512
  $capabilities,
513
  array(
514
- 'Post Expirator' => array(self::DEFAULT_CAPABILITY_EXPIRE_POST),
515
  )
516
  );
517
  }
 
 
 
 
 
518
  }
131
  /**
132
  * Fires when the post meta is updated (in the gutenberg block).
133
  */
134
+ public function updatedmeta($meta_id, $post_id, $meta_key, $meta_value)
135
  {
136
  // allow only through gutenberg
137
  if (! PostExpirator_Util::is_gutenberg_active()) {
234
  /**
235
  * Register the post meta to use in the block.
236
  */
237
+ public function register_post_meta()
238
  {
239
  $post_types = get_post_types(array('public' => true));
240
  foreach ($post_types as $post_type) {
322
  /**
323
  * Load the block's backend assets only if the meta box is active for this post type.
324
  */
325
+ public function block_editor_assets()
326
  {
327
  global $post;
328
 
371
  'categoryReplace' => __('Category: Replace', 'post-expirator'),
372
  'categoryAdd' => __('Category: Add', 'post-expirator'),
373
  'categoryRemove' => __('Category: Remove', 'post-expirator'),
374
+ 'postExpirator' => __('PublishPress Future', 'post-expirator'),
375
  'enablePostExpiration' => __('Enable Post Expiration', 'post-expirator'),
376
  'howToExpire' => __('How to expire', 'post-expirator'),
377
  'loading' => __('Loading', 'post-expirator'),
511
  return array_merge(
512
  $capabilities,
513
  array(
514
+ 'PublishPress Future' => array(self::DEFAULT_CAPABILITY_EXPIRE_POST),
515
  )
516
  );
517
  }
518
+
519
+ public static function is_expiration_enabled_for_post($post_id)
520
+ {
521
+ return get_post_meta($post_id, '_expiration-date-status', true) === 'saved';
522
+ }
523
  }
classes/RenamingWarning.class.php ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ use PublishPress\WordPressReviews\ReviewsController;
4
+
5
+ /**
6
+ * WordPress reviews functions.
7
+ */
8
+ class PostExpirator_RenamingWarning
9
+ {
10
+ private $pluginSlug = 'post-expirator';
11
+
12
+ private $iconUrl = '';
13
+
14
+ private $pluginName = 'PublishPress Future';
15
+
16
+ private $nonceAction = 'publishpress-future-dismiss-naming-notice';
17
+
18
+ private $metaDismissed = 'publishpress-future-naming-notice-dismiss';
19
+
20
+ public function init()
21
+ {
22
+ $this->iconUrl = POSTEXPIRATOR_BASEURL . 'assets/images/publishpress-future-256.png';
23
+
24
+ $this->addHooks();
25
+ }
26
+
27
+ /**
28
+ * Hook into relevant WP actions.
29
+ */
30
+ private function addHooks()
31
+ {
32
+ if (defined('DOING_AJAX') && DOING_AJAX) {
33
+ add_action("wp_ajax_publishpress-future-naming-notice-dismiss", [$this, 'ajaxHandler']);
34
+ }
35
+
36
+ if ($this->showTheNotice()) {
37
+ add_action('admin_notices', [$this, 'renderAdminNotices']);
38
+ add_action('network_admin_notices', [$this, 'renderAdminNotices']);
39
+ add_action('user_admin_notices', [$this, 'renderAdminNotices']);
40
+
41
+ add_action('admin_enqueue_scripts', [$this, 'enqueueStyle']);
42
+ }
43
+ }
44
+
45
+ /**
46
+ * @return bool
47
+ */
48
+ private function showTheNotice()
49
+ {
50
+ if (!is_admin() || !$this->currentUserIsAdministrator()) {
51
+ return false;
52
+ }
53
+
54
+ global $pagenow;
55
+
56
+ if ($pagenow === 'admin.php' && isset($_GET['page'])) {
57
+ if ($_GET['page'] === 'publishpress-future') {
58
+ return true;
59
+ }
60
+ }
61
+
62
+ return false;
63
+ }
64
+
65
+ private function currentUserIsAdministrator()
66
+ {
67
+ $currentUser = get_current_user_id();
68
+ $currentUser = get_user_by('ID', $currentUser);
69
+
70
+ if (empty($currentUser) || ! is_object($currentUser) && is_wp_error($currentUser)) {
71
+ return false;
72
+ }
73
+
74
+ return in_array('administrator', $currentUser->roles);
75
+ }
76
+
77
+ /**
78
+ * Render admin notices if available.
79
+ */
80
+ public function renderAdminNotices()
81
+ {
82
+ if ($this->hideNotices()) {
83
+ return;
84
+ }
85
+
86
+ // Used to anonymously distinguish unique site+user combinations in terms of effectiveness of each trigger.
87
+ $uuid = wp_hash(home_url() . '-' . get_current_user_id());
88
+ ?>
89
+
90
+ <script type="text/javascript">
91
+ (function ($) {
92
+ function dismiss(reason) {
93
+ $.ajax({
94
+ method: "POST",
95
+ dataType: "json",
96
+ url: ajaxurl,
97
+ data: {
98
+ action: 'publishpress-future-naming-notice-dismiss',
99
+ nonce: '<?php echo wp_create_nonce($this->nonceAction); ?>',
100
+ reason: reason
101
+ }
102
+ });
103
+ }
104
+
105
+ $(document)
106
+ .on('click', '.<?php echo $this->pluginSlug; ?>-naming-notice .<?php echo "$this->pluginSlug-dismiss"; ?>', function (event) {
107
+ var $this = $(this),
108
+ reason = $this.data('reason'),
109
+ notice = $this.parents('.<?php echo $this->pluginSlug; ?>-naming-notice');
110
+
111
+ notice.fadeTo(100, 0, function () {
112
+ notice.slideUp(100, function () {
113
+ notice.remove();
114
+ });
115
+ });
116
+
117
+ dismiss(reason);
118
+ })
119
+ .ready(function () {
120
+ setTimeout(function () {
121
+ $('.<?php echo $this->pluginSlug; ?>-naming-notice button.notice-dismiss').click(function (event) {
122
+ dismiss('acknowledge');
123
+ });
124
+ }, 1000);
125
+ });
126
+ }(jQuery));
127
+ </script>
128
+
129
+ <div class="notice notice-success is-dismissible <?php
130
+ echo "$this->pluginSlug-naming-notice"; ?>">
131
+ <?php
132
+ if (! empty($this->iconUrl)) : ?>
133
+ <img src="<?php
134
+ echo $this->iconUrl; ?>" class="notice-icon" alt="<?php
135
+ echo $this->pluginName; ?> logo"/>
136
+ <?php
137
+ endif; ?>
138
+
139
+ <p><?php echo sprintf(
140
+ __('Thanks for using Post Expirator. This plugin has a new name: "PublishPress Future". Nothing else has changed with the plugin. If you have any questions, please %sclick this link and talk with us%s.', 'post-expirator'),
141
+ '<a href="mailto:help@publishpress.com">',
142
+ '</a>'
143
+ ); ?></p>
144
+
145
+ <a href="#" class="button <?php echo "$this->pluginSlug-dismiss"; ?>" data-reason="maybe_later">
146
+ <?php _e('Dismiss', $this->pluginSlug); ?>
147
+ </a>
148
+ </div>
149
+ <?php
150
+ }
151
+
152
+ /**
153
+ * Checks if notices should be shown.
154
+ *
155
+ * @return bool
156
+ */
157
+ private function hideNotices()
158
+ {
159
+ $dismissMeta = (int)get_user_meta(get_current_user_id(), $this->metaDismissed, true);
160
+ $conditions = [
161
+ $dismissMeta === 1,
162
+ ];
163
+
164
+ return in_array(true, $conditions);
165
+ }
166
+
167
+ public function enqueueStyle()
168
+ {
169
+ wp_register_style('publishpress-future-naming-notice', false);
170
+ wp_enqueue_style('publishpress-future-naming-notice');
171
+ wp_add_inline_style(
172
+ 'publishpress-future-naming-notice',
173
+ "
174
+ .{$this->pluginSlug}-naming-notice {
175
+ min-height: 90px;
176
+ }
177
+
178
+ .{$this->pluginSlug}-naming-notice .button,
179
+ .{$this->pluginSlug}-naming-notice p {
180
+ font-size: 15px;
181
+ }
182
+
183
+ .{$this->pluginSlug}-naming-notice .button:not(.notice-dismiss) {
184
+ border-width: 1px;
185
+ }
186
+
187
+ .{$this->pluginSlug}-naming-notice .button.button-primary {
188
+ background-color: #655897;
189
+ border-color: #3d355c;
190
+ color: #fff;
191
+ }
192
+
193
+ .{$this->pluginSlug}-naming-notice .notice-icon {
194
+ float: right;
195
+ height: 70px;
196
+ margin-top: 10px;
197
+ margin-left: 10px;
198
+ }
199
+
200
+ @media (max-width:1700px) {
201
+ .{$this->pluginSlug}-naming-notice {
202
+ min-height: 110px;
203
+ }
204
+
205
+ .{$this->pluginSlug}-naming-notice .notice-icon {
206
+ height: 90px;
207
+ }
208
+ }
209
+
210
+ @media (max-width:1000px) {
211
+ .{$this->pluginSlug}-naming-notice .notice-icon {
212
+ height: 70px;
213
+ min-height: 90px;
214
+ }
215
+ }
216
+ "
217
+ );
218
+ }
219
+
220
+ /**
221
+ * The function called by the ajax request.
222
+ */
223
+ public function ajaxHandler()
224
+ {
225
+ $args = wp_parse_args(
226
+ $_REQUEST,
227
+ [
228
+ 'reason' => 'acknowledge',
229
+ ]
230
+ );
231
+
232
+ if (! wp_verify_nonce($_REQUEST['nonce'], $this->nonceAction)) {
233
+ wp_send_json_error();
234
+ }
235
+
236
+ try {
237
+ $userId = get_current_user_id();
238
+
239
+ update_user_meta($userId, $this->metaDismissed, 1);
240
+
241
+ wp_send_json_success();
242
+ } catch (Exception $e) {
243
+ wp_send_json_error($e);
244
+ }
245
+ }
246
+ }
classes/Reviews.class.php CHANGED
@@ -19,8 +19,8 @@ abstract class PostExpirator_Reviews
19
 
20
  self::$reviewController = new ReviewsController(
21
  'post-expirator',
22
- 'Post Expirator',
23
- POSTEXPIRATOR_BASEURL . 'assets/img/post-expirator-wp-logo.png'
24
  );
25
 
26
  self::$reviewController->init();
@@ -35,12 +35,12 @@ abstract class PostExpirator_Reviews
35
  return false;
36
  }
37
 
38
- if ($pagenow === 'options-general.php' && isset($_GET['page'])) {
39
- if ($_GET['page'] === 'post-expirator.php') {
40
  return true;
41
  }
42
  }
43
 
44
  return false;
45
  }
46
- }
19
 
20
  self::$reviewController = new ReviewsController(
21
  'post-expirator',
22
+ 'PublishPress Future',
23
+ POSTEXPIRATOR_BASEURL . 'assets/images/publishpress-future-256.png'
24
  );
25
 
26
  self::$reviewController->init();
35
  return false;
36
  }
37
 
38
+ if ($pagenow === 'admin.php' && isset($_GET['page'])) {
39
+ if ($_GET['page'] === 'publishpress-future') {
40
  return true;
41
  }
42
  }
43
 
44
  return false;
45
  }
46
+ }
composer.json CHANGED
@@ -25,10 +25,6 @@
25
  "url": "https://github.com/publishpress/PublishPress-Plugin-Builder"
26
  }
27
  ],
28
- "dist": {
29
- "url": "https://github.com/publishpress/PublishPress-Future/releases/download/v2.5.2-beta.1/post-expirator-2.5.2-beta.1.zip",
30
- "type": "zip"
31
- },
32
  "require-dev": {
33
  "lucatume/wp-browser": "^3",
34
  "codeception/module-asserts": "^1.0",
25
  "url": "https://github.com/publishpress/PublishPress-Plugin-Builder"
26
  }
27
  ],
 
 
 
 
28
  "require-dev": {
29
  "lucatume/wp-browser": "^3",
30
  "codeception/module-asserts": "^1.0",
composer.lock CHANGED
@@ -8,23 +8,38 @@
8
  "packages": [
9
  {
10
  "name": "publishpress/wordpress-reviews",
11
- "version": "v1.1.13",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/publishpress/wordpress-reviews.git",
15
- "reference": "6eb69db653b5df376a81571153eacd2da0f5524b"
16
  },
17
  "dist": {
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/6eb69db653b5df376a81571153eacd2da0f5524b",
20
- "reference": "6eb69db653b5df376a81571153eacd2da0f5524b",
21
  "shasum": ""
22
  },
23
  "require": {
24
  "php": ">=5.6.20"
25
  },
26
  "require-dev": {
27
- "overtrue/phplint": "^2.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  },
29
  "type": "library",
30
  "autoload": {
@@ -55,9 +70,9 @@
55
  ],
56
  "support": {
57
  "issues": "https://github.com/publishpress/wordpress-reviews/issues",
58
- "source": "https://github.com/publishpress/wordpress-reviews/tree/v1.1.13"
59
  },
60
- "time": "2021-11-16T19:29:19+00:00"
61
  }
62
  ],
63
  "packages-dev": [
@@ -707,16 +722,16 @@
707
  },
708
  {
709
  "name": "codeception/module-rest",
710
- "version": "1.4.1",
711
  "source": {
712
  "type": "git",
713
  "url": "https://github.com/Codeception/module-rest.git",
714
- "reference": "14e638e6a66f6910ce0b8fb4cc83bb8ada680933"
715
  },
716
  "dist": {
717
  "type": "zip",
718
- "url": "https://api.github.com/repos/Codeception/module-rest/zipball/14e638e6a66f6910ce0b8fb4cc83bb8ada680933",
719
- "reference": "14e638e6a66f6910ce0b8fb4cc83bb8ada680933",
720
  "shasum": ""
721
  },
722
  "require": {
@@ -755,9 +770,9 @@
755
  ],
756
  "support": {
757
  "issues": "https://github.com/Codeception/module-rest/issues",
758
- "source": "https://github.com/Codeception/module-rest/tree/1.4.1"
759
  },
760
- "time": "2021-11-17T12:05:51+00:00"
761
  },
762
  {
763
  "name": "codeception/module-webdriver",
@@ -2327,16 +2342,16 @@
2327
  },
2328
  {
2329
  "name": "illuminate/collections",
2330
- "version": "v8.72.0",
2331
  "source": {
2332
  "type": "git",
2333
  "url": "https://github.com/illuminate/collections.git",
2334
- "reference": "bfb57bc1863689058706eb41287b7ad523d74403"
2335
  },
2336
  "dist": {
2337
  "type": "zip",
2338
- "url": "https://api.github.com/repos/illuminate/collections/zipball/bfb57bc1863689058706eb41287b7ad523d74403",
2339
- "reference": "bfb57bc1863689058706eb41287b7ad523d74403",
2340
  "shasum": ""
2341
  },
2342
  "require": {
@@ -2345,7 +2360,7 @@
2345
  "php": "^7.3|^8.0"
2346
  },
2347
  "suggest": {
2348
- "symfony/var-dumper": "Required to use the dump method (^5.1.4)."
2349
  },
2350
  "type": "library",
2351
  "extra": {
@@ -2377,11 +2392,11 @@
2377
  "issues": "https://github.com/laravel/framework/issues",
2378
  "source": "https://github.com/laravel/framework"
2379
  },
2380
- "time": "2021-11-15T14:44:56+00:00"
2381
  },
2382
  {
2383
  "name": "illuminate/contracts",
2384
- "version": "v8.72.0",
2385
  "source": {
2386
  "type": "git",
2387
  "url": "https://github.com/illuminate/contracts.git",
@@ -2429,7 +2444,7 @@
2429
  },
2430
  {
2431
  "name": "illuminate/macroable",
2432
- "version": "v8.72.0",
2433
  "source": {
2434
  "type": "git",
2435
  "url": "https://github.com/illuminate/macroable.git",
@@ -2475,16 +2490,16 @@
2475
  },
2476
  {
2477
  "name": "illuminate/support",
2478
- "version": "v8.72.0",
2479
  "source": {
2480
  "type": "git",
2481
  "url": "https://github.com/illuminate/support.git",
2482
- "reference": "bad652d0dfec26e9597ffb292fc728201310c113"
2483
  },
2484
  "dist": {
2485
  "type": "zip",
2486
- "url": "https://api.github.com/repos/illuminate/support/zipball/bad652d0dfec26e9597ffb292fc728201310c113",
2487
- "reference": "bad652d0dfec26e9597ffb292fc728201310c113",
2488
  "shasum": ""
2489
  },
2490
  "require": {
@@ -2505,8 +2520,8 @@
2505
  "illuminate/filesystem": "Required to use the composer class (^8.0).",
2506
  "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
2507
  "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
2508
- "symfony/process": "Required to use the composer class (^5.1.4).",
2509
- "symfony/var-dumper": "Required to use the dd function (^5.1.4).",
2510
  "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
2511
  },
2512
  "type": "library",
@@ -2539,7 +2554,7 @@
2539
  "issues": "https://github.com/laravel/framework/issues",
2540
  "source": "https://github.com/laravel/framework"
2541
  },
2542
- "time": "2021-11-17T15:04:30+00:00"
2543
  },
2544
  {
2545
  "name": "justinrainbow/json-schema",
@@ -2692,16 +2707,16 @@
2692
  },
2693
  {
2694
  "name": "lucatume/wp-browser",
2695
- "version": "3.0.13",
2696
  "source": {
2697
  "type": "git",
2698
  "url": "https://github.com/lucatume/wp-browser.git",
2699
- "reference": "098ba7b6efc880624a504423ad9ce4fdec69f923"
2700
  },
2701
  "dist": {
2702
  "type": "zip",
2703
- "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/098ba7b6efc880624a504423ad9ce4fdec69f923",
2704
- "reference": "098ba7b6efc880624a504423ad9ce4fdec69f923",
2705
  "shasum": ""
2706
  },
2707
  "require": {
@@ -2773,7 +2788,7 @@
2773
  ],
2774
  "support": {
2775
  "issues": "https://github.com/lucatume/wp-browser/issues",
2776
- "source": "https://github.com/lucatume/wp-browser/tree/3.0.13"
2777
  },
2778
  "funding": [
2779
  {
@@ -2781,7 +2796,7 @@
2781
  "type": "github"
2782
  }
2783
  ],
2784
- "time": "2021-11-08T09:01:44+00:00"
2785
  },
2786
  {
2787
  "name": "mck89/peast",
@@ -3835,22 +3850,22 @@
3835
  },
3836
  {
3837
  "name": "phpmd/phpmd",
3838
- "version": "2.10.2",
3839
  "source": {
3840
  "type": "git",
3841
  "url": "https://github.com/phpmd/phpmd.git",
3842
- "reference": "1bc74db7cf834662d83abebae265be11bb2eec3a"
3843
  },
3844
  "dist": {
3845
  "type": "zip",
3846
- "url": "https://api.github.com/repos/phpmd/phpmd/zipball/1bc74db7cf834662d83abebae265be11bb2eec3a",
3847
- "reference": "1bc74db7cf834662d83abebae265be11bb2eec3a",
3848
  "shasum": ""
3849
  },
3850
  "require": {
3851
  "composer/xdebug-handler": "^1.0 || ^2.0",
3852
  "ext-xml": "*",
3853
- "pdepend/pdepend": "^2.10.0",
3854
  "php": ">=5.3.9"
3855
  },
3856
  "require-dev": {
@@ -3906,7 +3921,7 @@
3906
  "support": {
3907
  "irc": "irc://irc.freenode.org/phpmd",
3908
  "issues": "https://github.com/phpmd/phpmd/issues",
3909
- "source": "https://github.com/phpmd/phpmd/tree/2.10.2"
3910
  },
3911
  "funding": [
3912
  {
@@ -3914,7 +3929,7 @@
3914
  "type": "tidelift"
3915
  }
3916
  ],
3917
- "time": "2021-07-22T09:56:23+00:00"
3918
  },
3919
  {
3920
  "name": "phpspec/prophecy",
@@ -5979,28 +5994,28 @@
5979
  },
5980
  {
5981
  "name": "symfony/browser-kit",
5982
- "version": "v5.3.4",
5983
  "source": {
5984
  "type": "git",
5985
  "url": "https://github.com/symfony/browser-kit.git",
5986
- "reference": "c1e3f64fcc631c96e2c5843b666db66679ced11c"
5987
  },
5988
  "dist": {
5989
  "type": "zip",
5990
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c1e3f64fcc631c96e2c5843b666db66679ced11c",
5991
- "reference": "c1e3f64fcc631c96e2c5843b666db66679ced11c",
5992
  "shasum": ""
5993
  },
5994
  "require": {
5995
  "php": ">=7.2.5",
5996
- "symfony/dom-crawler": "^4.4|^5.0",
5997
  "symfony/polyfill-php80": "^1.16"
5998
  },
5999
  "require-dev": {
6000
- "symfony/css-selector": "^4.4|^5.0",
6001
- "symfony/http-client": "^4.4|^5.0",
6002
- "symfony/mime": "^4.4|^5.0",
6003
- "symfony/process": "^4.4|^5.0"
6004
  },
6005
  "suggest": {
6006
  "symfony/process": ""
@@ -6031,7 +6046,7 @@
6031
  "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
6032
  "homepage": "https://symfony.com",
6033
  "support": {
6034
- "source": "https://github.com/symfony/browser-kit/tree/v5.3.4"
6035
  },
6036
  "funding": [
6037
  {
@@ -6047,26 +6062,26 @@
6047
  "type": "tidelift"
6048
  }
6049
  ],
6050
- "time": "2021-07-21T12:40:44+00:00"
6051
  },
6052
  {
6053
  "name": "symfony/config",
6054
- "version": "v5.3.10",
6055
  "source": {
6056
  "type": "git",
6057
  "url": "https://github.com/symfony/config.git",
6058
- "reference": "ac23c2f24d5634966d665d836c3933d54347e5d4"
6059
  },
6060
  "dist": {
6061
  "type": "zip",
6062
- "url": "https://api.github.com/repos/symfony/config/zipball/ac23c2f24d5634966d665d836c3933d54347e5d4",
6063
- "reference": "ac23c2f24d5634966d665d836c3933d54347e5d4",
6064
  "shasum": ""
6065
  },
6066
  "require": {
6067
  "php": ">=7.2.5",
6068
- "symfony/deprecation-contracts": "^2.1",
6069
- "symfony/filesystem": "^4.4|^5.0",
6070
  "symfony/polyfill-ctype": "~1.8",
6071
  "symfony/polyfill-php80": "^1.16",
6072
  "symfony/polyfill-php81": "^1.22"
@@ -6075,11 +6090,11 @@
6075
  "symfony/finder": "<4.4"
6076
  },
6077
  "require-dev": {
6078
- "symfony/event-dispatcher": "^4.4|^5.0",
6079
- "symfony/finder": "^4.4|^5.0",
6080
- "symfony/messenger": "^4.4|^5.0",
6081
- "symfony/service-contracts": "^1.1|^2",
6082
- "symfony/yaml": "^4.4|^5.0"
6083
  },
6084
  "suggest": {
6085
  "symfony/yaml": "To use the yaml reference dumper"
@@ -6110,7 +6125,7 @@
6110
  "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
6111
  "homepage": "https://symfony.com",
6112
  "support": {
6113
- "source": "https://github.com/symfony/config/tree/v5.3.10"
6114
  },
6115
  "funding": [
6116
  {
@@ -6126,7 +6141,7 @@
6126
  "type": "tidelift"
6127
  }
6128
  ],
6129
- "time": "2021-10-22T09:06:52+00:00"
6130
  },
6131
  {
6132
  "name": "symfony/console",
@@ -6221,16 +6236,16 @@
6221
  },
6222
  {
6223
  "name": "symfony/css-selector",
6224
- "version": "v5.3.4",
6225
  "source": {
6226
  "type": "git",
6227
  "url": "https://github.com/symfony/css-selector.git",
6228
- "reference": "7fb120adc7f600a59027775b224c13a33530dd90"
6229
  },
6230
  "dist": {
6231
  "type": "zip",
6232
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90",
6233
- "reference": "7fb120adc7f600a59027775b224c13a33530dd90",
6234
  "shasum": ""
6235
  },
6236
  "require": {
@@ -6267,7 +6282,7 @@
6267
  "description": "Converts CSS selectors to XPath expressions",
6268
  "homepage": "https://symfony.com",
6269
  "support": {
6270
- "source": "https://github.com/symfony/css-selector/tree/v5.3.4"
6271
  },
6272
  "funding": [
6273
  {
@@ -6283,27 +6298,28 @@
6283
  "type": "tidelift"
6284
  }
6285
  ],
6286
- "time": "2021-07-21T12:38:00+00:00"
6287
  },
6288
  {
6289
  "name": "symfony/dependency-injection",
6290
- "version": "v5.3.10",
6291
  "source": {
6292
  "type": "git",
6293
  "url": "https://github.com/symfony/dependency-injection.git",
6294
- "reference": "be833dd336c248ef2bdabf24665351455f52afdb"
6295
  },
6296
  "dist": {
6297
  "type": "zip",
6298
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/be833dd336c248ef2bdabf24665351455f52afdb",
6299
- "reference": "be833dd336c248ef2bdabf24665351455f52afdb",
6300
  "shasum": ""
6301
  },
6302
  "require": {
6303
  "php": ">=7.2.5",
6304
  "psr/container": "^1.1.1",
6305
- "symfony/deprecation-contracts": "^2.1",
6306
  "symfony/polyfill-php80": "^1.16",
 
6307
  "symfony/service-contracts": "^1.1.6|^2"
6308
  },
6309
  "conflict": {
@@ -6318,9 +6334,9 @@
6318
  "symfony/service-implementation": "1.0|2.0"
6319
  },
6320
  "require-dev": {
6321
- "symfony/config": "^5.3",
6322
- "symfony/expression-language": "^4.4|^5.0",
6323
- "symfony/yaml": "^4.4|^5.0"
6324
  },
6325
  "suggest": {
6326
  "symfony/config": "",
@@ -6355,7 +6371,7 @@
6355
  "description": "Allows you to standardize and centralize the way objects are constructed in your application",
6356
  "homepage": "https://symfony.com",
6357
  "support": {
6358
- "source": "https://github.com/symfony/dependency-injection/tree/v5.3.10"
6359
  },
6360
  "funding": [
6361
  {
@@ -6371,20 +6387,20 @@
6371
  "type": "tidelift"
6372
  }
6373
  ],
6374
- "time": "2021-10-22T18:11:05+00:00"
6375
  },
6376
  {
6377
  "name": "symfony/deprecation-contracts",
6378
- "version": "v2.4.0",
6379
  "source": {
6380
  "type": "git",
6381
  "url": "https://github.com/symfony/deprecation-contracts.git",
6382
- "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
6383
  },
6384
  "dist": {
6385
  "type": "zip",
6386
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
6387
- "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
6388
  "shasum": ""
6389
  },
6390
  "require": {
@@ -6393,7 +6409,7 @@
6393
  "type": "library",
6394
  "extra": {
6395
  "branch-alias": {
6396
- "dev-main": "2.4-dev"
6397
  },
6398
  "thanks": {
6399
  "name": "symfony/contracts",
@@ -6422,7 +6438,7 @@
6422
  "description": "A generic function and convention to trigger deprecation notices",
6423
  "homepage": "https://symfony.com",
6424
  "support": {
6425
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
6426
  },
6427
  "funding": [
6428
  {
@@ -6438,25 +6454,25 @@
6438
  "type": "tidelift"
6439
  }
6440
  ],
6441
- "time": "2021-03-23T23:28:01+00:00"
6442
  },
6443
  {
6444
  "name": "symfony/dom-crawler",
6445
- "version": "v5.3.7",
6446
  "source": {
6447
  "type": "git",
6448
  "url": "https://github.com/symfony/dom-crawler.git",
6449
- "reference": "c7eef3a60ccfdd8eafe07f81652e769ac9c7146c"
6450
  },
6451
  "dist": {
6452
  "type": "zip",
6453
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/c7eef3a60ccfdd8eafe07f81652e769ac9c7146c",
6454
- "reference": "c7eef3a60ccfdd8eafe07f81652e769ac9c7146c",
6455
  "shasum": ""
6456
  },
6457
  "require": {
6458
  "php": ">=7.2.5",
6459
- "symfony/deprecation-contracts": "^2.1",
6460
  "symfony/polyfill-ctype": "~1.8",
6461
  "symfony/polyfill-mbstring": "~1.0",
6462
  "symfony/polyfill-php80": "^1.16"
@@ -6466,7 +6482,7 @@
6466
  },
6467
  "require-dev": {
6468
  "masterminds/html5": "^2.6",
6469
- "symfony/css-selector": "^4.4|^5.0"
6470
  },
6471
  "suggest": {
6472
  "symfony/css-selector": ""
@@ -6497,7 +6513,7 @@
6497
  "description": "Eases DOM navigation for HTML and XML documents",
6498
  "homepage": "https://symfony.com",
6499
  "support": {
6500
- "source": "https://github.com/symfony/dom-crawler/tree/v5.3.7"
6501
  },
6502
  "funding": [
6503
  {
@@ -6513,26 +6529,26 @@
6513
  "type": "tidelift"
6514
  }
6515
  ],
6516
- "time": "2021-08-29T19:32:13+00:00"
6517
  },
6518
  {
6519
  "name": "symfony/event-dispatcher",
6520
- "version": "v5.3.7",
6521
  "source": {
6522
  "type": "git",
6523
  "url": "https://github.com/symfony/event-dispatcher.git",
6524
- "reference": "ce7b20d69c66a20939d8952b617506a44d102130"
6525
  },
6526
  "dist": {
6527
  "type": "zip",
6528
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ce7b20d69c66a20939d8952b617506a44d102130",
6529
- "reference": "ce7b20d69c66a20939d8952b617506a44d102130",
6530
  "shasum": ""
6531
  },
6532
  "require": {
6533
  "php": ">=7.2.5",
6534
- "symfony/deprecation-contracts": "^2.1",
6535
- "symfony/event-dispatcher-contracts": "^2",
6536
  "symfony/polyfill-php80": "^1.16"
6537
  },
6538
  "conflict": {
@@ -6544,13 +6560,13 @@
6544
  },
6545
  "require-dev": {
6546
  "psr/log": "^1|^2|^3",
6547
- "symfony/config": "^4.4|^5.0",
6548
- "symfony/dependency-injection": "^4.4|^5.0",
6549
- "symfony/error-handler": "^4.4|^5.0",
6550
- "symfony/expression-language": "^4.4|^5.0",
6551
- "symfony/http-foundation": "^4.4|^5.0",
6552
- "symfony/service-contracts": "^1.1|^2",
6553
- "symfony/stopwatch": "^4.4|^5.0"
6554
  },
6555
  "suggest": {
6556
  "symfony/dependency-injection": "",
@@ -6582,7 +6598,7 @@
6582
  "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
6583
  "homepage": "https://symfony.com",
6584
  "support": {
6585
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.7"
6586
  },
6587
  "funding": [
6588
  {
@@ -6598,20 +6614,20 @@
6598
  "type": "tidelift"
6599
  }
6600
  ],
6601
- "time": "2021-08-04T21:20:46+00:00"
6602
  },
6603
  {
6604
  "name": "symfony/event-dispatcher-contracts",
6605
- "version": "v2.4.0",
6606
  "source": {
6607
  "type": "git",
6608
  "url": "https://github.com/symfony/event-dispatcher-contracts.git",
6609
- "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11"
6610
  },
6611
  "dist": {
6612
  "type": "zip",
6613
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11",
6614
- "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11",
6615
  "shasum": ""
6616
  },
6617
  "require": {
@@ -6624,7 +6640,7 @@
6624
  "type": "library",
6625
  "extra": {
6626
  "branch-alias": {
6627
- "dev-main": "2.4-dev"
6628
  },
6629
  "thanks": {
6630
  "name": "symfony/contracts",
@@ -6661,7 +6677,7 @@
6661
  "standards"
6662
  ],
6663
  "support": {
6664
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0"
6665
  },
6666
  "funding": [
6667
  {
@@ -6677,25 +6693,26 @@
6677
  "type": "tidelift"
6678
  }
6679
  ],
6680
- "time": "2021-03-23T23:28:01+00:00"
6681
  },
6682
  {
6683
  "name": "symfony/filesystem",
6684
- "version": "v5.3.4",
6685
  "source": {
6686
  "type": "git",
6687
  "url": "https://github.com/symfony/filesystem.git",
6688
- "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32"
6689
  },
6690
  "dist": {
6691
  "type": "zip",
6692
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/343f4fe324383ca46792cae728a3b6e2f708fb32",
6693
- "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32",
6694
  "shasum": ""
6695
  },
6696
  "require": {
6697
  "php": ">=7.2.5",
6698
  "symfony/polyfill-ctype": "~1.8",
 
6699
  "symfony/polyfill-php80": "^1.16"
6700
  },
6701
  "type": "library",
@@ -6724,7 +6741,7 @@
6724
  "description": "Provides basic utilities for the filesystem",
6725
  "homepage": "https://symfony.com",
6726
  "support": {
6727
- "source": "https://github.com/symfony/filesystem/tree/v5.3.4"
6728
  },
6729
  "funding": [
6730
  {
@@ -6740,24 +6757,25 @@
6740
  "type": "tidelift"
6741
  }
6742
  ],
6743
- "time": "2021-07-21T12:40:44+00:00"
6744
  },
6745
  {
6746
  "name": "symfony/finder",
6747
- "version": "v5.3.7",
6748
  "source": {
6749
  "type": "git",
6750
  "url": "https://github.com/symfony/finder.git",
6751
- "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93"
6752
  },
6753
  "dist": {
6754
  "type": "zip",
6755
- "url": "https://api.github.com/repos/symfony/finder/zipball/a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
6756
- "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
6757
  "shasum": ""
6758
  },
6759
  "require": {
6760
  "php": ">=7.2.5",
 
6761
  "symfony/polyfill-php80": "^1.16"
6762
  },
6763
  "type": "library",
@@ -6786,7 +6804,7 @@
6786
  "description": "Finds files and directories via an intuitive fluent interface",
6787
  "homepage": "https://symfony.com",
6788
  "support": {
6789
- "source": "https://github.com/symfony/finder/tree/v5.3.7"
6790
  },
6791
  "funding": [
6792
  {
@@ -6802,7 +6820,7 @@
6802
  "type": "tidelift"
6803
  }
6804
  ],
6805
- "time": "2021-08-04T21:20:46+00:00"
6806
  },
6807
  {
6808
  "name": "symfony/polyfill-ctype",
@@ -7371,16 +7389,16 @@
7371
  },
7372
  {
7373
  "name": "symfony/process",
7374
- "version": "v5.3.7",
7375
  "source": {
7376
  "type": "git",
7377
  "url": "https://github.com/symfony/process.git",
7378
- "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967"
7379
  },
7380
  "dist": {
7381
  "type": "zip",
7382
- "url": "https://api.github.com/repos/symfony/process/zipball/38f26c7d6ed535217ea393e05634cb0b244a1967",
7383
- "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967",
7384
  "shasum": ""
7385
  },
7386
  "require": {
@@ -7413,7 +7431,7 @@
7413
  "description": "Executes commands in sub-processes",
7414
  "homepage": "https://symfony.com",
7415
  "support": {
7416
- "source": "https://github.com/symfony/process/tree/v5.3.7"
7417
  },
7418
  "funding": [
7419
  {
@@ -7429,25 +7447,29 @@
7429
  "type": "tidelift"
7430
  }
7431
  ],
7432
- "time": "2021-08-04T21:20:46+00:00"
7433
  },
7434
  {
7435
  "name": "symfony/service-contracts",
7436
- "version": "v2.4.0",
7437
  "source": {
7438
  "type": "git",
7439
  "url": "https://github.com/symfony/service-contracts.git",
7440
- "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
7441
  },
7442
  "dist": {
7443
  "type": "zip",
7444
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
7445
- "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
7446
  "shasum": ""
7447
  },
7448
  "require": {
7449
  "php": ">=7.2.5",
7450
- "psr/container": "^1.1"
 
 
 
 
7451
  },
7452
  "suggest": {
7453
  "symfony/service-implementation": ""
@@ -7455,7 +7477,7 @@
7455
  "type": "library",
7456
  "extra": {
7457
  "branch-alias": {
7458
- "dev-main": "2.4-dev"
7459
  },
7460
  "thanks": {
7461
  "name": "symfony/contracts",
@@ -7492,7 +7514,7 @@
7492
  "standards"
7493
  ],
7494
  "support": {
7495
- "source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
7496
  },
7497
  "funding": [
7498
  {
@@ -7508,20 +7530,20 @@
7508
  "type": "tidelift"
7509
  }
7510
  ],
7511
- "time": "2021-04-01T10:43:52+00:00"
7512
  },
7513
  {
7514
  "name": "symfony/string",
7515
- "version": "v5.3.10",
7516
  "source": {
7517
  "type": "git",
7518
  "url": "https://github.com/symfony/string.git",
7519
- "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
7520
  },
7521
  "dist": {
7522
  "type": "zip",
7523
- "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
7524
- "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
7525
  "shasum": ""
7526
  },
7527
  "require": {
@@ -7532,11 +7554,14 @@
7532
  "symfony/polyfill-mbstring": "~1.0",
7533
  "symfony/polyfill-php80": "~1.15"
7534
  },
 
 
 
7535
  "require-dev": {
7536
- "symfony/error-handler": "^4.4|^5.0",
7537
- "symfony/http-client": "^4.4|^5.0",
7538
  "symfony/translation-contracts": "^1.1|^2",
7539
- "symfony/var-exporter": "^4.4|^5.0"
7540
  },
7541
  "type": "library",
7542
  "autoload": {
@@ -7575,7 +7600,7 @@
7575
  "utf8"
7576
  ],
7577
  "support": {
7578
- "source": "https://github.com/symfony/string/tree/v5.3.10"
7579
  },
7580
  "funding": [
7581
  {
@@ -7591,20 +7616,20 @@
7591
  "type": "tidelift"
7592
  }
7593
  ],
7594
- "time": "2021-10-27T18:21:46+00:00"
7595
  },
7596
  {
7597
  "name": "symfony/translation",
7598
- "version": "v5.3.10",
7599
  "source": {
7600
  "type": "git",
7601
  "url": "https://github.com/symfony/translation.git",
7602
- "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa"
7603
  },
7604
  "dist": {
7605
  "type": "zip",
7606
- "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa",
7607
- "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa",
7608
  "shasum": ""
7609
  },
7610
  "require": {
@@ -7670,7 +7695,7 @@
7670
  "description": "Provides tools to internationalize your application",
7671
  "homepage": "https://symfony.com",
7672
  "support": {
7673
- "source": "https://github.com/symfony/translation/tree/v5.3.10"
7674
  },
7675
  "funding": [
7676
  {
@@ -7686,20 +7711,20 @@
7686
  "type": "tidelift"
7687
  }
7688
  ],
7689
- "time": "2021-10-10T06:43:24+00:00"
7690
  },
7691
  {
7692
  "name": "symfony/translation-contracts",
7693
- "version": "v2.4.0",
7694
  "source": {
7695
  "type": "git",
7696
  "url": "https://github.com/symfony/translation-contracts.git",
7697
- "reference": "95c812666f3e91db75385749fe219c5e494c7f95"
7698
  },
7699
  "dist": {
7700
  "type": "zip",
7701
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95",
7702
- "reference": "95c812666f3e91db75385749fe219c5e494c7f95",
7703
  "shasum": ""
7704
  },
7705
  "require": {
@@ -7711,7 +7736,7 @@
7711
  "type": "library",
7712
  "extra": {
7713
  "branch-alias": {
7714
- "dev-main": "2.4-dev"
7715
  },
7716
  "thanks": {
7717
  "name": "symfony/contracts",
@@ -7748,7 +7773,7 @@
7748
  "standards"
7749
  ],
7750
  "support": {
7751
- "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0"
7752
  },
7753
  "funding": [
7754
  {
@@ -7764,20 +7789,20 @@
7764
  "type": "tidelift"
7765
  }
7766
  ],
7767
- "time": "2021-03-23T23:28:01+00:00"
7768
  },
7769
  {
7770
  "name": "symfony/yaml",
7771
- "version": "v5.3.6",
7772
  "source": {
7773
  "type": "git",
7774
  "url": "https://github.com/symfony/yaml.git",
7775
- "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7"
7776
  },
7777
  "dist": {
7778
  "type": "zip",
7779
- "url": "https://api.github.com/repos/symfony/yaml/zipball/4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7",
7780
- "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7",
7781
  "shasum": ""
7782
  },
7783
  "require": {
@@ -7823,7 +7848,7 @@
7823
  "description": "Loads and dumps YAML files",
7824
  "homepage": "https://symfony.com",
7825
  "support": {
7826
- "source": "https://github.com/symfony/yaml/tree/v5.3.6"
7827
  },
7828
  "funding": [
7829
  {
@@ -7839,7 +7864,7 @@
7839
  "type": "tidelift"
7840
  }
7841
  ],
7842
- "time": "2021-07-29T06:20:01+00:00"
7843
  },
7844
  {
7845
  "name": "theseer/fdomdocument",
8
  "packages": [
9
  {
10
  "name": "publishpress/wordpress-reviews",
11
+ "version": "v1.1.16",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/publishpress/wordpress-reviews.git",
15
+ "reference": "2b647f104d7aa64e0c72c028f86e1875035b7a91"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/2b647f104d7aa64e0c72c028f86e1875035b7a91",
20
+ "reference": "2b647f104d7aa64e0c72c028f86e1875035b7a91",
21
  "shasum": ""
22
  },
23
  "require": {
24
  "php": ">=5.6.20"
25
  },
26
  "require-dev": {
27
+ "codeception/module-asserts": "^1.0",
28
+ "codeception/module-cli": "^1.0",
29
+ "codeception/module-db": "^1.0",
30
+ "codeception/module-filesystem": "^1.0",
31
+ "codeception/module-phpbrowser": "^1.0",
32
+ "codeception/module-rest": "^1.3",
33
+ "codeception/module-webdriver": "^1.0",
34
+ "codeception/util-universalframework": "^1.0",
35
+ "lucatume/wp-browser": "^3",
36
+ "overtrue/phplint": "^2.1",
37
+ "phpmd/phpmd": "^2.8",
38
+ "publishpress/publishpress-plugin-builder": "^1.2",
39
+ "sebastian/phpcpd": "^5.0",
40
+ "squizlabs/php_codesniffer": "^3.5",
41
+ "wp-cli/i18n-command": "^2.2",
42
+ "wp-cli/wp-cli": "^2.5"
43
  },
44
  "type": "library",
45
  "autoload": {
70
  ],
71
  "support": {
72
  "issues": "https://github.com/publishpress/wordpress-reviews/issues",
73
+ "source": "https://github.com/publishpress/wordpress-reviews/tree/v1.1.16"
74
  },
75
+ "time": "2021-12-01T20:36:26+00:00"
76
  }
77
  ],
78
  "packages-dev": [
722
  },
723
  {
724
  "name": "codeception/module-rest",
725
+ "version": "1.4.2",
726
  "source": {
727
  "type": "git",
728
  "url": "https://github.com/Codeception/module-rest.git",
729
+ "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917"
730
  },
731
  "dist": {
732
  "type": "zip",
733
+ "url": "https://api.github.com/repos/Codeception/module-rest/zipball/9cd7a87fd9343494e7782f7bdb51687c25046917",
734
+ "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917",
735
  "shasum": ""
736
  },
737
  "require": {
770
  ],
771
  "support": {
772
  "issues": "https://github.com/Codeception/module-rest/issues",
773
+ "source": "https://github.com/Codeception/module-rest/tree/1.4.2"
774
  },
775
+ "time": "2021-11-18T18:58:15+00:00"
776
  },
777
  {
778
  "name": "codeception/module-webdriver",
2342
  },
2343
  {
2344
  "name": "illuminate/collections",
2345
+ "version": "v8.74.0",
2346
  "source": {
2347
  "type": "git",
2348
  "url": "https://github.com/illuminate/collections.git",
2349
+ "reference": "f292b77824b42cd28decc7327e7c2e24c3806371"
2350
  },
2351
  "dist": {
2352
  "type": "zip",
2353
+ "url": "https://api.github.com/repos/illuminate/collections/zipball/f292b77824b42cd28decc7327e7c2e24c3806371",
2354
+ "reference": "f292b77824b42cd28decc7327e7c2e24c3806371",
2355
  "shasum": ""
2356
  },
2357
  "require": {
2360
  "php": "^7.3|^8.0"
2361
  },
2362
  "suggest": {
2363
+ "symfony/var-dumper": "Required to use the dump method (^5.4)."
2364
  },
2365
  "type": "library",
2366
  "extra": {
2392
  "issues": "https://github.com/laravel/framework/issues",
2393
  "source": "https://github.com/laravel/framework"
2394
  },
2395
+ "time": "2021-11-30T14:29:03+00:00"
2396
  },
2397
  {
2398
  "name": "illuminate/contracts",
2399
+ "version": "v8.74.0",
2400
  "source": {
2401
  "type": "git",
2402
  "url": "https://github.com/illuminate/contracts.git",
2444
  },
2445
  {
2446
  "name": "illuminate/macroable",
2447
+ "version": "v8.74.0",
2448
  "source": {
2449
  "type": "git",
2450
  "url": "https://github.com/illuminate/macroable.git",
2490
  },
2491
  {
2492
  "name": "illuminate/support",
2493
+ "version": "v8.74.0",
2494
  "source": {
2495
  "type": "git",
2496
  "url": "https://github.com/illuminate/support.git",
2497
+ "reference": "79bb5570274d6abbfaac736992c6b5f5cbcc17c1"
2498
  },
2499
  "dist": {
2500
  "type": "zip",
2501
+ "url": "https://api.github.com/repos/illuminate/support/zipball/79bb5570274d6abbfaac736992c6b5f5cbcc17c1",
2502
+ "reference": "79bb5570274d6abbfaac736992c6b5f5cbcc17c1",
2503
  "shasum": ""
2504
  },
2505
  "require": {
2520
  "illuminate/filesystem": "Required to use the composer class (^8.0).",
2521
  "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
2522
  "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
2523
+ "symfony/process": "Required to use the composer class (^5.4).",
2524
+ "symfony/var-dumper": "Required to use the dd function (^5.4).",
2525
  "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
2526
  },
2527
  "type": "library",
2554
  "issues": "https://github.com/laravel/framework/issues",
2555
  "source": "https://github.com/laravel/framework"
2556
  },
2557
+ "time": "2021-11-30T14:13:40+00:00"
2558
  },
2559
  {
2560
  "name": "justinrainbow/json-schema",
2707
  },
2708
  {
2709
  "name": "lucatume/wp-browser",
2710
+ "version": "3.0.14",
2711
  "source": {
2712
  "type": "git",
2713
  "url": "https://github.com/lucatume/wp-browser.git",
2714
+ "reference": "1dae9e523bddd77c6d242c2033fd5616cdf6d375"
2715
  },
2716
  "dist": {
2717
  "type": "zip",
2718
+ "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/1dae9e523bddd77c6d242c2033fd5616cdf6d375",
2719
+ "reference": "1dae9e523bddd77c6d242c2033fd5616cdf6d375",
2720
  "shasum": ""
2721
  },
2722
  "require": {
2788
  ],
2789
  "support": {
2790
  "issues": "https://github.com/lucatume/wp-browser/issues",
2791
+ "source": "https://github.com/lucatume/wp-browser/tree/3.0.14"
2792
  },
2793
  "funding": [
2794
  {
2796
  "type": "github"
2797
  }
2798
  ],
2799
+ "time": "2021-11-26T11:14:22+00:00"
2800
  },
2801
  {
2802
  "name": "mck89/peast",
3850
  },
3851
  {
3852
  "name": "phpmd/phpmd",
3853
+ "version": "2.11.0",
3854
  "source": {
3855
  "type": "git",
3856
  "url": "https://github.com/phpmd/phpmd.git",
3857
+ "reference": "3637949092e6471aeaeca66bc6c016f45e459e24"
3858
  },
3859
  "dist": {
3860
  "type": "zip",
3861
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/3637949092e6471aeaeca66bc6c016f45e459e24",
3862
+ "reference": "3637949092e6471aeaeca66bc6c016f45e459e24",
3863
  "shasum": ""
3864
  },
3865
  "require": {
3866
  "composer/xdebug-handler": "^1.0 || ^2.0",
3867
  "ext-xml": "*",
3868
+ "pdepend/pdepend": "^2.10.2",
3869
  "php": ">=5.3.9"
3870
  },
3871
  "require-dev": {
3921
  "support": {
3922
  "irc": "irc://irc.freenode.org/phpmd",
3923
  "issues": "https://github.com/phpmd/phpmd/issues",
3924
+ "source": "https://github.com/phpmd/phpmd/tree/2.11.0"
3925
  },
3926
  "funding": [
3927
  {
3929
  "type": "tidelift"
3930
  }
3931
  ],
3932
+ "time": "2021-11-29T14:05:52+00:00"
3933
  },
3934
  {
3935
  "name": "phpspec/prophecy",
5994
  },
5995
  {
5996
  "name": "symfony/browser-kit",
5997
+ "version": "v5.4.0",
5998
  "source": {
5999
  "type": "git",
6000
  "url": "https://github.com/symfony/browser-kit.git",
6001
+ "reference": "d250db364a35ba5d60626b2a6f10f2eaf2073bde"
6002
  },
6003
  "dist": {
6004
  "type": "zip",
6005
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/d250db364a35ba5d60626b2a6f10f2eaf2073bde",
6006
+ "reference": "d250db364a35ba5d60626b2a6f10f2eaf2073bde",
6007
  "shasum": ""
6008
  },
6009
  "require": {
6010
  "php": ">=7.2.5",
6011
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
6012
  "symfony/polyfill-php80": "^1.16"
6013
  },
6014
  "require-dev": {
6015
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
6016
+ "symfony/http-client": "^4.4|^5.0|^6.0",
6017
+ "symfony/mime": "^4.4|^5.0|^6.0",
6018
+ "symfony/process": "^4.4|^5.0|^6.0"
6019
  },
6020
  "suggest": {
6021
  "symfony/process": ""
6046
  "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
6047
  "homepage": "https://symfony.com",
6048
  "support": {
6049
+ "source": "https://github.com/symfony/browser-kit/tree/v5.4.0"
6050
  },
6051
  "funding": [
6052
  {
6062
  "type": "tidelift"
6063
  }
6064
  ],
6065
+ "time": "2021-10-26T22:29:18+00:00"
6066
  },
6067
  {
6068
  "name": "symfony/config",
6069
+ "version": "v5.4.0",
6070
  "source": {
6071
  "type": "git",
6072
  "url": "https://github.com/symfony/config.git",
6073
+ "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b"
6074
  },
6075
  "dist": {
6076
  "type": "zip",
6077
+ "url": "https://api.github.com/repos/symfony/config/zipball/e39cf688c80fd79ab0a6a2d05a9facac9b2d534b",
6078
+ "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b",
6079
  "shasum": ""
6080
  },
6081
  "require": {
6082
  "php": ">=7.2.5",
6083
+ "symfony/deprecation-contracts": "^2.1|^3",
6084
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
6085
  "symfony/polyfill-ctype": "~1.8",
6086
  "symfony/polyfill-php80": "^1.16",
6087
  "symfony/polyfill-php81": "^1.22"
6090
  "symfony/finder": "<4.4"
6091
  },
6092
  "require-dev": {
6093
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
6094
+ "symfony/finder": "^4.4|^5.0|^6.0",
6095
+ "symfony/messenger": "^4.4|^5.0|^6.0",
6096
+ "symfony/service-contracts": "^1.1|^2|^3",
6097
+ "symfony/yaml": "^4.4|^5.0|^6.0"
6098
  },
6099
  "suggest": {
6100
  "symfony/yaml": "To use the yaml reference dumper"
6125
  "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
6126
  "homepage": "https://symfony.com",
6127
  "support": {
6128
+ "source": "https://github.com/symfony/config/tree/v5.4.0"
6129
  },
6130
  "funding": [
6131
  {
6141
  "type": "tidelift"
6142
  }
6143
  ],
6144
+ "time": "2021-11-28T15:25:38+00:00"
6145
  },
6146
  {
6147
  "name": "symfony/console",
6236
  },
6237
  {
6238
  "name": "symfony/css-selector",
6239
+ "version": "v5.4.0",
6240
  "source": {
6241
  "type": "git",
6242
  "url": "https://github.com/symfony/css-selector.git",
6243
+ "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc"
6244
  },
6245
  "dist": {
6246
  "type": "zip",
6247
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/44b933f98bb4b5220d10bed9ce5662f8c2d13dcc",
6248
+ "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc",
6249
  "shasum": ""
6250
  },
6251
  "require": {
6282
  "description": "Converts CSS selectors to XPath expressions",
6283
  "homepage": "https://symfony.com",
6284
  "support": {
6285
+ "source": "https://github.com/symfony/css-selector/tree/v5.4.0"
6286
  },
6287
  "funding": [
6288
  {
6298
  "type": "tidelift"
6299
  }
6300
  ],
6301
+ "time": "2021-09-09T08:06:01+00:00"
6302
  },
6303
  {
6304
  "name": "symfony/dependency-injection",
6305
+ "version": "v5.4.0",
6306
  "source": {
6307
  "type": "git",
6308
  "url": "https://github.com/symfony/dependency-injection.git",
6309
+ "reference": "69c398723857bb19fdea78496cedea0f756decab"
6310
  },
6311
  "dist": {
6312
  "type": "zip",
6313
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/69c398723857bb19fdea78496cedea0f756decab",
6314
+ "reference": "69c398723857bb19fdea78496cedea0f756decab",
6315
  "shasum": ""
6316
  },
6317
  "require": {
6318
  "php": ">=7.2.5",
6319
  "psr/container": "^1.1.1",
6320
+ "symfony/deprecation-contracts": "^2.1|^3",
6321
  "symfony/polyfill-php80": "^1.16",
6322
+ "symfony/polyfill-php81": "^1.22",
6323
  "symfony/service-contracts": "^1.1.6|^2"
6324
  },
6325
  "conflict": {
6334
  "symfony/service-implementation": "1.0|2.0"
6335
  },
6336
  "require-dev": {
6337
+ "symfony/config": "^5.3|^6.0",
6338
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
6339
+ "symfony/yaml": "^4.4|^5.0|^6.0"
6340
  },
6341
  "suggest": {
6342
  "symfony/config": "",
6371
  "description": "Allows you to standardize and centralize the way objects are constructed in your application",
6372
  "homepage": "https://symfony.com",
6373
  "support": {
6374
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.0"
6375
  },
6376
  "funding": [
6377
  {
6387
  "type": "tidelift"
6388
  }
6389
  ],
6390
+ "time": "2021-11-29T15:30:56+00:00"
6391
  },
6392
  {
6393
  "name": "symfony/deprecation-contracts",
6394
+ "version": "v2.5.0",
6395
  "source": {
6396
  "type": "git",
6397
  "url": "https://github.com/symfony/deprecation-contracts.git",
6398
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
6399
  },
6400
  "dist": {
6401
  "type": "zip",
6402
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
6403
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
6404
  "shasum": ""
6405
  },
6406
  "require": {
6409
  "type": "library",
6410
  "extra": {
6411
  "branch-alias": {
6412
+ "dev-main": "2.5-dev"
6413
  },
6414
  "thanks": {
6415
  "name": "symfony/contracts",
6438
  "description": "A generic function and convention to trigger deprecation notices",
6439
  "homepage": "https://symfony.com",
6440
  "support": {
6441
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
6442
  },
6443
  "funding": [
6444
  {
6454
  "type": "tidelift"
6455
  }
6456
  ],
6457
+ "time": "2021-07-12T14:48:14+00:00"
6458
  },
6459
  {
6460
  "name": "symfony/dom-crawler",
6461
+ "version": "v5.4.0",
6462
  "source": {
6463
  "type": "git",
6464
  "url": "https://github.com/symfony/dom-crawler.git",
6465
+ "reference": "5b06626e940a3ad54e573511d64d4e00dc8d0fd8"
6466
  },
6467
  "dist": {
6468
  "type": "zip",
6469
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5b06626e940a3ad54e573511d64d4e00dc8d0fd8",
6470
+ "reference": "5b06626e940a3ad54e573511d64d4e00dc8d0fd8",
6471
  "shasum": ""
6472
  },
6473
  "require": {
6474
  "php": ">=7.2.5",
6475
+ "symfony/deprecation-contracts": "^2.1|^3",
6476
  "symfony/polyfill-ctype": "~1.8",
6477
  "symfony/polyfill-mbstring": "~1.0",
6478
  "symfony/polyfill-php80": "^1.16"
6482
  },
6483
  "require-dev": {
6484
  "masterminds/html5": "^2.6",
6485
+ "symfony/css-selector": "^4.4|^5.0|^6.0"
6486
  },
6487
  "suggest": {
6488
  "symfony/css-selector": ""
6513
  "description": "Eases DOM navigation for HTML and XML documents",
6514
  "homepage": "https://symfony.com",
6515
  "support": {
6516
+ "source": "https://github.com/symfony/dom-crawler/tree/v5.4.0"
6517
  },
6518
  "funding": [
6519
  {
6529
  "type": "tidelift"
6530
  }
6531
  ],
6532
+ "time": "2021-11-23T10:19:22+00:00"
6533
  },
6534
  {
6535
  "name": "symfony/event-dispatcher",
6536
+ "version": "v5.4.0",
6537
  "source": {
6538
  "type": "git",
6539
  "url": "https://github.com/symfony/event-dispatcher.git",
6540
+ "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb"
6541
  },
6542
  "dist": {
6543
  "type": "zip",
6544
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb",
6545
+ "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb",
6546
  "shasum": ""
6547
  },
6548
  "require": {
6549
  "php": ">=7.2.5",
6550
+ "symfony/deprecation-contracts": "^2.1|^3",
6551
+ "symfony/event-dispatcher-contracts": "^2|^3",
6552
  "symfony/polyfill-php80": "^1.16"
6553
  },
6554
  "conflict": {
6560
  },
6561
  "require-dev": {
6562
  "psr/log": "^1|^2|^3",
6563
+ "symfony/config": "^4.4|^5.0|^6.0",
6564
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
6565
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
6566
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
6567
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
6568
+ "symfony/service-contracts": "^1.1|^2|^3",
6569
+ "symfony/stopwatch": "^4.4|^5.0|^6.0"
6570
  },
6571
  "suggest": {
6572
  "symfony/dependency-injection": "",
6598
  "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
6599
  "homepage": "https://symfony.com",
6600
  "support": {
6601
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.0"
6602
  },
6603
  "funding": [
6604
  {
6614
  "type": "tidelift"
6615
  }
6616
  ],
6617
+ "time": "2021-11-23T10:19:22+00:00"
6618
  },
6619
  {
6620
  "name": "symfony/event-dispatcher-contracts",
6621
+ "version": "v2.5.0",
6622
  "source": {
6623
  "type": "git",
6624
  "url": "https://github.com/symfony/event-dispatcher-contracts.git",
6625
+ "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a"
6626
  },
6627
  "dist": {
6628
  "type": "zip",
6629
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
6630
+ "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
6631
  "shasum": ""
6632
  },
6633
  "require": {
6640
  "type": "library",
6641
  "extra": {
6642
  "branch-alias": {
6643
+ "dev-main": "2.5-dev"
6644
  },
6645
  "thanks": {
6646
  "name": "symfony/contracts",
6677
  "standards"
6678
  ],
6679
  "support": {
6680
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0"
6681
  },
6682
  "funding": [
6683
  {
6693
  "type": "tidelift"
6694
  }
6695
  ],
6696
+ "time": "2021-07-12T14:48:14+00:00"
6697
  },
6698
  {
6699
  "name": "symfony/filesystem",
6700
+ "version": "v5.4.0",
6701
  "source": {
6702
  "type": "git",
6703
  "url": "https://github.com/symfony/filesystem.git",
6704
+ "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01"
6705
  },
6706
  "dist": {
6707
  "type": "zip",
6708
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/731f917dc31edcffec2c6a777f3698c33bea8f01",
6709
+ "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01",
6710
  "shasum": ""
6711
  },
6712
  "require": {
6713
  "php": ">=7.2.5",
6714
  "symfony/polyfill-ctype": "~1.8",
6715
+ "symfony/polyfill-mbstring": "~1.8",
6716
  "symfony/polyfill-php80": "^1.16"
6717
  },
6718
  "type": "library",
6741
  "description": "Provides basic utilities for the filesystem",
6742
  "homepage": "https://symfony.com",
6743
  "support": {
6744
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.0"
6745
  },
6746
  "funding": [
6747
  {
6757
  "type": "tidelift"
6758
  }
6759
  ],
6760
+ "time": "2021-10-28T13:39:27+00:00"
6761
  },
6762
  {
6763
  "name": "symfony/finder",
6764
+ "version": "v5.4.0",
6765
  "source": {
6766
  "type": "git",
6767
  "url": "https://github.com/symfony/finder.git",
6768
+ "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590"
6769
  },
6770
  "dist": {
6771
  "type": "zip",
6772
+ "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590",
6773
+ "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590",
6774
  "shasum": ""
6775
  },
6776
  "require": {
6777
  "php": ">=7.2.5",
6778
+ "symfony/deprecation-contracts": "^2.1|^3",
6779
  "symfony/polyfill-php80": "^1.16"
6780
  },
6781
  "type": "library",
6804
  "description": "Finds files and directories via an intuitive fluent interface",
6805
  "homepage": "https://symfony.com",
6806
  "support": {
6807
+ "source": "https://github.com/symfony/finder/tree/v5.4.0"
6808
  },
6809
  "funding": [
6810
  {
6820
  "type": "tidelift"
6821
  }
6822
  ],
6823
+ "time": "2021-11-28T15:25:38+00:00"
6824
  },
6825
  {
6826
  "name": "symfony/polyfill-ctype",
7389
  },
7390
  {
7391
  "name": "symfony/process",
7392
+ "version": "v5.4.0",
7393
  "source": {
7394
  "type": "git",
7395
  "url": "https://github.com/symfony/process.git",
7396
+ "reference": "5be20b3830f726e019162b26223110c8f47cf274"
7397
  },
7398
  "dist": {
7399
  "type": "zip",
7400
+ "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274",
7401
+ "reference": "5be20b3830f726e019162b26223110c8f47cf274",
7402
  "shasum": ""
7403
  },
7404
  "require": {
7431
  "description": "Executes commands in sub-processes",
7432
  "homepage": "https://symfony.com",
7433
  "support": {
7434
+ "source": "https://github.com/symfony/process/tree/v5.4.0"
7435
  },
7436
  "funding": [
7437
  {
7447
  "type": "tidelift"
7448
  }
7449
  ],
7450
+ "time": "2021-11-28T15:25:38+00:00"
7451
  },
7452
  {
7453
  "name": "symfony/service-contracts",
7454
+ "version": "v2.5.0",
7455
  "source": {
7456
  "type": "git",
7457
  "url": "https://github.com/symfony/service-contracts.git",
7458
+ "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc"
7459
  },
7460
  "dist": {
7461
  "type": "zip",
7462
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
7463
+ "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
7464
  "shasum": ""
7465
  },
7466
  "require": {
7467
  "php": ">=7.2.5",
7468
+ "psr/container": "^1.1",
7469
+ "symfony/deprecation-contracts": "^2.1"
7470
+ },
7471
+ "conflict": {
7472
+ "ext-psr": "<1.1|>=2"
7473
  },
7474
  "suggest": {
7475
  "symfony/service-implementation": ""
7477
  "type": "library",
7478
  "extra": {
7479
  "branch-alias": {
7480
+ "dev-main": "2.5-dev"
7481
  },
7482
  "thanks": {
7483
  "name": "symfony/contracts",
7514
  "standards"
7515
  ],
7516
  "support": {
7517
+ "source": "https://github.com/symfony/service-contracts/tree/v2.5.0"
7518
  },
7519
  "funding": [
7520
  {
7530
  "type": "tidelift"
7531
  }
7532
  ],
7533
+ "time": "2021-11-04T16:48:04+00:00"
7534
  },
7535
  {
7536
  "name": "symfony/string",
7537
+ "version": "v5.4.0",
7538
  "source": {
7539
  "type": "git",
7540
  "url": "https://github.com/symfony/string.git",
7541
+ "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d"
7542
  },
7543
  "dist": {
7544
  "type": "zip",
7545
+ "url": "https://api.github.com/repos/symfony/string/zipball/9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d",
7546
+ "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d",
7547
  "shasum": ""
7548
  },
7549
  "require": {
7554
  "symfony/polyfill-mbstring": "~1.0",
7555
  "symfony/polyfill-php80": "~1.15"
7556
  },
7557
+ "conflict": {
7558
+ "symfony/translation-contracts": ">=3.0"
7559
+ },
7560
  "require-dev": {
7561
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
7562
+ "symfony/http-client": "^4.4|^5.0|^6.0",
7563
  "symfony/translation-contracts": "^1.1|^2",
7564
+ "symfony/var-exporter": "^4.4|^5.0|^6.0"
7565
  },
7566
  "type": "library",
7567
  "autoload": {
7600
  "utf8"
7601
  ],
7602
  "support": {
7603
+ "source": "https://github.com/symfony/string/tree/v5.4.0"
7604
  },
7605
  "funding": [
7606
  {
7616
  "type": "tidelift"
7617
  }
7618
  ],
7619
+ "time": "2021-11-24T10:02:00+00:00"
7620
  },
7621
  {
7622
  "name": "symfony/translation",
7623
+ "version": "v5.3.11",
7624
  "source": {
7625
  "type": "git",
7626
  "url": "https://github.com/symfony/translation.git",
7627
+ "reference": "17a965c8f3b1b348cf15d903ac53942984561f8a"
7628
  },
7629
  "dist": {
7630
  "type": "zip",
7631
+ "url": "https://api.github.com/repos/symfony/translation/zipball/17a965c8f3b1b348cf15d903ac53942984561f8a",
7632
+ "reference": "17a965c8f3b1b348cf15d903ac53942984561f8a",
7633
  "shasum": ""
7634
  },
7635
  "require": {
7695
  "description": "Provides tools to internationalize your application",
7696
  "homepage": "https://symfony.com",
7697
  "support": {
7698
+ "source": "https://github.com/symfony/translation/tree/v5.3.11"
7699
  },
7700
  "funding": [
7701
  {
7711
  "type": "tidelift"
7712
  }
7713
  ],
7714
+ "time": "2021-11-04T16:37:19+00:00"
7715
  },
7716
  {
7717
  "name": "symfony/translation-contracts",
7718
+ "version": "v2.5.0",
7719
  "source": {
7720
  "type": "git",
7721
  "url": "https://github.com/symfony/translation-contracts.git",
7722
+ "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e"
7723
  },
7724
  "dist": {
7725
  "type": "zip",
7726
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e",
7727
+ "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e",
7728
  "shasum": ""
7729
  },
7730
  "require": {
7736
  "type": "library",
7737
  "extra": {
7738
  "branch-alias": {
7739
+ "dev-main": "2.5-dev"
7740
  },
7741
  "thanks": {
7742
  "name": "symfony/contracts",
7773
  "standards"
7774
  ],
7775
  "support": {
7776
+ "source": "https://github.com/symfony/translation-contracts/tree/v2.5.0"
7777
  },
7778
  "funding": [
7779
  {
7789
  "type": "tidelift"
7790
  }
7791
  ],
7792
+ "time": "2021-08-17T14:20:01+00:00"
7793
  },
7794
  {
7795
  "name": "symfony/yaml",
7796
+ "version": "v5.3.11",
7797
  "source": {
7798
  "type": "git",
7799
  "url": "https://github.com/symfony/yaml.git",
7800
+ "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a"
7801
  },
7802
  "dist": {
7803
  "type": "zip",
7804
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/226638aa877bc4104e619a15f27d8141cd6b4e4a",
7805
+ "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a",
7806
  "shasum": ""
7807
  },
7808
  "require": {
7848
  "description": "Loads and dumps YAML files",
7849
  "homepage": "https://symfony.com",
7850
  "support": {
7851
+ "source": "https://github.com/symfony/yaml/tree/v5.3.11"
7852
  },
7853
  "funding": [
7854
  {
7864
  "type": "tidelift"
7865
  }
7866
  ],
7867
+ "time": "2021-11-20T16:42:42+00:00"
7868
  },
7869
  {
7870
  "name": "theseer/fdomdocument",
languages/post-expirator-pt_BR.po CHANGED
@@ -17,8 +17,8 @@ msgstr ""
17
  #. Plugin Name of the plugin
18
  #: classes/Display.class.php:50 post-expirator.php:350 views/bulk-edit.php:16
19
  #: assets/jsx/block.jsx:164
20
- msgid "Post Expirator"
21
- msgstr "Post Expirator"
22
 
23
  #. Plugin URI of the plugin
24
  msgid "http://wordpress.org/extend/plugins/post-expirator/"
@@ -40,8 +40,8 @@ msgid "http://publishpress.com"
40
  msgstr "http://publishpress.com"
41
 
42
  #: classes/Display.class.php:49 views/tabs.php:8
43
- msgid "Post Expirator Options"
44
- msgstr "Opções do Post Expirator"
45
 
46
  #: classes/Display.class.php:190 classes/Display.class.php:263
47
  msgid "Saved Options!"
@@ -327,7 +327,7 @@ msgstr "Desativar"
327
 
328
  #: views/menu-defaults.php:83
329
  msgid ""
330
- "Select whether the post expirator meta box is active for this post type."
331
  msgstr ""
332
  "Selecione se a espiração de post está habilitada para este tipo de post."
333
 
@@ -352,7 +352,7 @@ msgid "Disabled"
352
  msgstr "Desabilitar"
353
 
354
  #: views/menu-defaults.php:132
355
- msgid "Select whether the post expirator is enabled for all new posts."
356
  msgstr ""
357
  "Selecione se o a expiração de posts está ativa para todos os novos posts."
358
 
@@ -469,7 +469,7 @@ msgstr ""
469
 
470
  #: views/menu-general.php:48
471
  msgid ""
472
- "The post expirator plugin sets a custom meta value, and then optionally "
473
  "allows you to select if you want the post changed to a draft status or "
474
  "deleted when it expires."
475
  msgstr ""
@@ -644,7 +644,7 @@ msgid ""
644
  msgstr ""
645
 
646
  #: views/menu-general.php:396
647
- msgid "Choose which user roles can use Post Expirator"
648
  msgstr ""
649
 
650
  #: views/tabs.php:15
17
  #. Plugin Name of the plugin
18
  #: classes/Display.class.php:50 post-expirator.php:350 views/bulk-edit.php:16
19
  #: assets/jsx/block.jsx:164
20
+ msgid "PublishPress Future"
21
+ msgstr "PublishPress Future"
22
 
23
  #. Plugin URI of the plugin
24
  msgid "http://wordpress.org/extend/plugins/post-expirator/"
40
  msgstr "http://publishpress.com"
41
 
42
  #: classes/Display.class.php:49 views/tabs.php:8
43
+ msgid "PublishPress Future Options"
44
+ msgstr "Opções do PublishPress Future"
45
 
46
  #: classes/Display.class.php:190 classes/Display.class.php:263
47
  msgid "Saved Options!"
327
 
328
  #: views/menu-defaults.php:83
329
  msgid ""
330
+ "Select whether the meta box is active for this post type."
331
  msgstr ""
332
  "Selecione se a espiração de post está habilitada para este tipo de post."
333
 
352
  msgstr "Desabilitar"
353
 
354
  #: views/menu-defaults.php:132
355
+ msgid "Select whether the expiration is enabled for all new posts."
356
  msgstr ""
357
  "Selecione se o a expiração de posts está ativa para todos os novos posts."
358
 
469
 
470
  #: views/menu-general.php:48
471
  msgid ""
472
+ "The PublishPress Future plugin sets a custom meta value, and then optionally "
473
  "allows you to select if you want the post changed to a draft status or "
474
  "deleted when it expires."
475
  msgstr ""
644
  msgstr ""
645
 
646
  #: views/menu-general.php:396
647
+ msgid "Choose which user roles can use PublishPress Future"
648
  msgstr ""
649
 
650
  #: views/tabs.php:15
languages/post-expirator.pot CHANGED
@@ -1,15 +1,15 @@
1
  # Copyright (C) 2021 PublishPress
2
- # This file is distributed under the same license as the Post Expirator plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Post Expirator 2.6.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/publishpress-future\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2021-11-17T18:19:05-03:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: post-expirator\n"
@@ -19,7 +19,7 @@ msgstr ""
19
  #: classes/Facade.class.php:374
20
  #: post-expirator.php:350
21
  #: views/bulk-edit.php:16
22
- msgid "Post Expirator"
23
  msgstr ""
24
 
25
  #. Plugin URI of the plugin
@@ -40,30 +40,58 @@ msgstr ""
40
 
41
  #: classes/Display.class.php:49
42
  #: views/tabs.php:8
43
- msgid "Post Expirator Options"
44
  msgstr ""
45
 
46
- #: classes/Display.class.php:191
47
- #: classes/Display.class.php:264
48
- msgid "Saved Options!"
49
- msgstr ""
50
-
51
- #: classes/Display.class.php:290
52
  msgid "Debugging Disabled"
53
  msgstr ""
54
 
55
- #: classes/Display.class.php:295
56
  msgid "Debugging Enabled"
57
  msgstr ""
58
 
59
- #: classes/Display.class.php:302
60
  msgid "Debugging Table Emptied"
61
  msgstr ""
62
 
63
- #: classes/Display.class.php:318
64
  msgid "Below is a dump of the debugging table, this should be useful for troubleshooting."
65
  msgstr ""
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  #: classes/Facade.class.php:365
68
  #: views/how-to-expire.php:27
69
  msgid "Draft"
@@ -117,10 +145,10 @@ msgid "Enable Post Expiration"
117
  msgstr ""
118
 
119
  #: classes/Facade.class.php:376
120
- #: views/bulk-edit.php:108
121
  #: views/classic-metabox.php:109
122
- #: views/menu-defaults.php:93
123
- #: views/quick-edit.php:71
124
  msgid "How to expire"
125
  msgstr ""
126
 
@@ -129,9 +157,9 @@ msgid "Loading"
129
  msgstr ""
130
 
131
  #: classes/Facade.class.php:378
132
- #: views/bulk-edit.php:126
133
  #: views/classic-metabox.php:127
134
- #: views/quick-edit.php:87
135
  msgid "Expiration Categories"
136
  msgstr ""
137
 
@@ -168,58 +196,58 @@ msgstr ""
168
  msgid "Expires"
169
  msgstr ""
170
 
171
- #: post-expirator.php:808
172
- #: post-expirator.php:830
173
- #: post-expirator.php:852
174
- #: post-expirator.php:874
175
  msgid "%1$s (%2$s) has expired at %3$s. Post status has been successfully changed to \"%4$s\"."
176
  msgstr ""
177
 
178
- #: post-expirator.php:896
179
  msgid "%1$s (%2$s) has expired at %3$s. Post \"%4$s\" status has been successfully set."
180
  msgstr ""
181
 
182
- #: post-expirator.php:915
183
  msgid "%1$s (%2$s) has expired at %3$s. Post \"%4$s\" status has been successfully removed."
184
  msgstr ""
185
 
186
- #: post-expirator.php:941
187
- #: post-expirator.php:983
188
  msgid "%1$s (%2$s) has expired at %3$s. Post \"%4$s\" have now been set to \"%5$s\"."
189
  msgstr ""
190
 
191
- #: post-expirator.php:1041
192
- #: post-expirator.php:1084
193
  msgid "%1$s (%2$s) has expired at %3$s. The following post \"%4$s\" have now been added: \"%5$s\". The full list of categories on the post are: \"%6$s\"."
194
  msgstr ""
195
 
196
- #: post-expirator.php:1149
197
- #: post-expirator.php:1199
198
  msgid "%1$s (%2$s) has expired at %3$s. The following post \"%4$s\" have now been removed: \"%5$s\". The full list of categories on the post are: \"%6$s\"."
199
  msgstr ""
200
 
201
- #: post-expirator.php:1251
202
  msgid "Post Expiration Complete \"%s\""
203
  msgstr ""
204
 
205
- #: post-expirator.php:1935
206
  msgid "Select the hierarchical taxonomy to be used for \"category\" based expiration."
207
  msgstr ""
208
 
209
- #: post-expirator.php:1940
210
  msgid "No taxonomies found"
211
  msgstr ""
212
 
213
- #: post-expirator.php:1987
214
  msgid "You're not allowed to set posts to expire"
215
  msgstr ""
216
 
217
- #: post-expirator.php:1988
218
  msgid "Forbidden"
219
  msgstr ""
220
 
221
  #: views/bulk-edit.php:21
222
- #: views/menu-diagnostics.php:64
223
  #: views/quick-edit.php:14
224
  msgid "Date"
225
  msgstr ""
@@ -282,8 +310,8 @@ msgstr ""
282
  msgid "Minute"
283
  msgstr ""
284
 
285
- #: views/bulk-edit.php:106
286
- #: views/quick-edit.php:69
287
  msgid "Type"
288
  msgstr ""
289
 
@@ -315,332 +343,351 @@ msgstr ""
315
  msgid "Use the values below to set the default actions/values to be used for each for the corresponding post types. These values can all be overwritten when creating/editing the post/page."
316
  msgstr ""
317
 
318
- #: views/menu-defaults.php:60
319
- #: views/menu-defaults.php:71
320
  msgid "Active"
321
  msgstr ""
322
 
323
- #: views/menu-defaults.php:81
324
  msgid "Inactive"
325
  msgstr ""
326
 
327
- #: views/menu-defaults.php:83
328
- msgid "Select whether the post expirator meta box is active for this post type."
329
  msgstr ""
330
 
331
- #: views/menu-defaults.php:102
332
  msgid "Select the default expire action for the post type."
333
  msgstr ""
334
 
335
- #: views/menu-defaults.php:109
336
  msgid "Auto-Enable?"
337
  msgstr ""
338
 
339
- #: views/menu-defaults.php:120
340
- #: views/menu-diagnostics.php:12
341
- #: views/menu-diagnostics.php:35
342
- #: views/menu-general.php:228
343
- #: views/menu-general.php:251
344
- #: views/menu-general.php:300
 
345
  msgid "Enabled"
346
  msgstr ""
347
 
348
- #: views/menu-defaults.php:130
349
- #: views/menu-diagnostics.php:16
350
- #: views/menu-diagnostics.php:37
351
- #: views/menu-general.php:234
352
- #: views/menu-general.php:258
353
- #: views/menu-general.php:306
 
354
  msgid "Disabled"
355
  msgstr ""
356
 
357
- #: views/menu-defaults.php:132
358
- msgid "Select whether the post expirator is enabled for all new posts."
359
  msgstr ""
360
 
361
- #: views/menu-defaults.php:139
362
  msgid "Taxonomy (hierarchical)"
363
  msgstr ""
364
 
365
- #: views/menu-defaults.php:154
366
- #: views/menu-general.php:269
367
  msgid "Who to notify"
368
  msgstr ""
369
 
370
- #: views/menu-defaults.php:164
371
  msgid "Enter a comma separate list of emails that you would like to be notified when the post expires."
372
  msgstr ""
373
 
374
- #: views/menu-defaults.php:172
375
- #: views/menu-general.php:148
376
  msgid "None"
377
  msgstr ""
378
 
379
- #: views/menu-defaults.php:173
380
  msgid "Inherit from General Settings"
381
  msgstr ""
382
 
383
- #: views/menu-defaults.php:174
384
- #: views/menu-defaults.php:216
385
- #: views/menu-general.php:151
386
- #: views/menu-general.php:168
387
  msgid "Custom"
388
  msgstr ""
389
 
390
- #: views/menu-defaults.php:175
391
  msgid "Publish Time"
392
  msgstr ""
393
 
394
- #: views/menu-defaults.php:191
395
- #: views/menu-general.php:141
396
  msgid "Default Date/Time Duration"
397
  msgstr ""
398
 
399
- #: views/menu-defaults.php:208
400
  msgid "Set the default expiration date to be used when creating a new post of this type."
401
  msgstr ""
402
 
403
- #: views/menu-defaults.php:226
404
- #: views/menu-general.php:174
405
  msgid "Set the custom value to use for the default expiration date. For information on formatting, see %1$s. For example, you could enter %2$s+1 month%3$s or %4$s+1 week 2 days 4 hours 2 seconds%5$s or %6$snext Thursday%7$s."
406
  msgstr ""
407
 
408
- #: views/menu-defaults.php:250
409
- #: views/menu-general.php:462
 
 
410
  msgid "Save Changes"
411
  msgstr ""
412
 
413
- #: views/menu-diagnostics.php:4
414
  msgid "Advanced Diagnostics"
415
  msgstr ""
416
 
417
- #: views/menu-diagnostics.php:8
418
  msgid "Debug Logging"
419
  msgstr ""
420
 
421
- #: views/menu-diagnostics.php:13
422
  msgid "Disable Debugging"
423
  msgstr ""
424
 
425
- #: views/menu-diagnostics.php:14
426
  #: views/tabs.php:32
427
  msgid "View Debug Logs"
428
  msgstr ""
429
 
430
- #: views/menu-diagnostics.php:17
431
  msgid "Enable Debugging"
432
  msgstr ""
433
 
434
- #: views/menu-diagnostics.php:22
435
- #: views/menu-diagnostics.php:28
436
  msgid "Purge Debug Log"
437
  msgstr ""
438
 
439
- #: views/menu-diagnostics.php:32
440
  msgid "WP-Cron Status"
441
  msgstr ""
442
 
443
- #: views/menu-diagnostics.php:43
444
  msgid "Current Cron Schedule"
445
  msgstr ""
446
 
447
- #: views/menu-diagnostics.php:51
448
  msgid "No cron events found for the plugin."
449
  msgstr ""
450
 
451
- #: views/menu-diagnostics.php:56
452
- msgid "The below table will show all currently scheduled cron events for the plugin with the next run time."
453
  msgstr ""
454
 
455
- #: views/menu-diagnostics.php:65
456
  msgid "Event"
457
  msgstr ""
458
 
459
- #: views/menu-diagnostics.php:66
460
  msgid "Arguments / Schedule"
461
  msgstr ""
462
 
463
- #: views/menu-diagnostics.php:67
464
  msgid "Post"
465
  msgstr ""
466
 
467
- #: views/menu-diagnostics.php:84
468
  msgid "No Arguments"
469
  msgstr ""
470
 
471
- #: views/menu-diagnostics.php:98
472
  msgid "Single Event"
473
  msgstr ""
474
 
475
- #: views/menu-general.php:50
476
- msgid "The post expirator plugin sets a custom meta value, and then optionally allows you to select if you want the post changed to a draft status or deleted when it expires."
477
- msgstr ""
478
-
479
- #: views/menu-general.php:56
480
  msgid "Shortcode"
481
  msgstr ""
482
 
483
- #: views/menu-general.php:58
484
  msgid "Valid %s attributes:"
485
  msgstr ""
486
 
487
- #: views/menu-general.php:63
488
  msgid "%1$s - valid options are %2$sfull%3$s (default), %4$sdate%5$s, %6$stime%7$s"
489
  msgstr ""
490
 
491
- #: views/menu-general.php:76
492
- #: views/menu-general.php:83
493
  msgid "%s - format set here will override the value set on the settings page"
494
  msgstr ""
495
 
496
- #: views/menu-general.php:94
497
- msgid "Defaults"
 
498
  msgstr ""
499
 
500
- #: views/menu-general.php:99
501
- msgid "Date Format"
 
502
  msgstr ""
503
 
504
- #: views/menu-general.php:109
505
- msgid "The default format to use when displaying the expiration date within a post using the shortcode or within the footer. For information on valid formatting options, see: %s."
 
506
  msgstr ""
507
 
508
- #: views/menu-general.php:120
509
- msgid "Time Format"
 
510
  msgstr ""
511
 
512
- #: views/menu-general.php:130
513
- msgid "The default format to use when displaying the expiration time within a post using the shortcode or within the footer. For information on valid formatting options, see: %s."
 
514
  msgstr ""
515
 
516
- #: views/menu-general.php:154
517
- msgid "Post/Page Publish Time"
 
518
  msgstr ""
519
 
520
- #: views/menu-general.php:157
521
- msgid "Set the default expiration date to be used when creating new posts and pages. Defaults to none."
 
522
  msgstr ""
523
 
524
- #: views/menu-general.php:191
525
- msgid "Default Expiration Category"
 
526
  msgstr ""
527
 
528
- #: views/menu-general.php:207
529
- msgid "Sets the default expiration category for the post."
 
530
  msgstr ""
531
 
532
- #: views/menu-general.php:213
533
- msgid "Expiration Email Notification"
534
  msgstr ""
535
 
536
- #: views/menu-general.php:215
537
- msgid "Whenever a post expires, an email can be sent to alert users of the expiration."
 
538
  msgstr ""
539
 
540
- #: views/menu-general.php:222
541
- msgid "Enable Email Notification?"
 
542
  msgstr ""
543
 
544
- #: views/menu-general.php:236
545
- msgid "This will enable or disable the send of email notification on post expiration."
 
546
  msgstr ""
547
 
548
- #: views/menu-general.php:244
549
- msgid "Include Blog Administrators?"
 
550
  msgstr ""
551
 
552
- #: views/menu-general.php:260
553
- msgid "This will include all users with the role of \"Administrator\" in the post expiration email."
 
554
  msgstr ""
555
 
556
- #: views/menu-general.php:276
557
- msgid "Enter a comma separate list of emails that you would like to be notified when the post expires. This will be applied to ALL post types. You can set post type specific emails on the Defaults tab."
 
558
  msgstr ""
559
 
560
- #: views/menu-general.php:285
561
- msgid "Post Footer Display"
562
  msgstr ""
563
 
564
- #: views/menu-general.php:287
565
- msgid "Enabling this below will display the expiration date automatically at the end of any post which is set to expire."
566
  msgstr ""
567
 
568
- #: views/menu-general.php:294
569
- msgid "Show in post footer?"
570
  msgstr ""
571
 
572
- #: views/menu-general.php:308
573
- msgid "This will enable or disable displaying the post expiration date in the post footer."
574
  msgstr ""
575
 
576
- #: views/menu-general.php:317
577
- msgid "Footer Contents"
578
  msgstr ""
579
 
580
- #: views/menu-general.php:324
581
- msgid "Enter the text you would like to appear at the bottom of every post that will expire. The following placeholders will be replaced with the post expiration date in the following format:"
582
  msgstr ""
583
 
584
- #: views/menu-general.php:353
585
- msgid "Footer Style"
586
  msgstr ""
587
 
588
- #: views/menu-general.php:360
589
- msgid "This post will expire on"
590
  msgstr ""
591
 
592
- #: views/menu-general.php:363
593
- msgid "The inline css which will be used to style the footer text."
594
  msgstr ""
595
 
596
- #: views/menu-general.php:369
597
- msgid "Advanced Options"
598
  msgstr ""
599
 
600
- #: views/menu-general.php:371
601
- msgid "Please do not update anything here unless you know what it entails. For advanced users only."
602
  msgstr ""
603
 
604
- #: views/menu-general.php:381
605
- msgid "Block Editor Support"
606
  msgstr ""
607
 
608
- #: views/menu-general.php:387
609
- msgid "Show Gutenberg style box"
610
  msgstr ""
611
 
612
- #: views/menu-general.php:393
613
- msgid "Show Classic Editor style box"
614
  msgstr ""
615
 
616
- #: views/menu-general.php:395
617
- msgid "Toggle between native support for the Block Editor or the backward compatible Classic Editor style metabox."
618
  msgstr ""
619
 
620
- #: views/menu-general.php:404
621
- msgid "Choose which user roles can use Post Expirator"
622
  msgstr ""
623
 
624
- #: views/menu-general.php:435
 
 
 
 
 
 
 
 
625
  msgid "Preserve data after deactivating the plugin"
626
  msgstr ""
627
 
628
- #: views/menu-general.php:441
629
  msgid "Preserve data"
630
  msgstr ""
631
 
632
- #: views/menu-general.php:447
633
  msgid "Delete data"
634
  msgstr ""
635
 
636
- #: views/menu-general.php:450
637
  msgid "Toggle between preserving or deleting data after the plugin is deactivated."
638
  msgstr ""
639
 
640
- #: views/tabs.php:15
641
- msgid "General Settings"
642
- msgstr ""
643
-
644
  #: views/tabs.php:20
645
  msgid "Post Types"
646
  msgstr ""
1
  # Copyright (C) 2021 PublishPress
2
+ # This file is distributed under the same license as the PublishPress Future plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: PublishPress Future 2.7.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/publishpress-future\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2021-11-24T15:14:00-03:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: post-expirator\n"
19
  #: classes/Facade.class.php:374
20
  #: post-expirator.php:350
21
  #: views/bulk-edit.php:16
22
+ msgid "PublishPress Future"
23
  msgstr ""
24
 
25
  #. Plugin URI of the plugin
40
 
41
  #: classes/Display.class.php:49
42
  #: views/tabs.php:8
43
+ msgid "PublishPress Future Options"
44
  msgstr ""
45
 
46
+ #: classes/Display.class.php:159
 
 
 
 
 
47
  msgid "Debugging Disabled"
48
  msgstr ""
49
 
50
+ #: classes/Display.class.php:164
51
  msgid "Debugging Enabled"
52
  msgstr ""
53
 
54
+ #: classes/Display.class.php:171
55
  msgid "Debugging Table Emptied"
56
  msgstr ""
57
 
58
+ #: classes/Display.class.php:187
59
  msgid "Below is a dump of the debugging table, this should be useful for troubleshooting."
60
  msgstr ""
61
 
62
+ #: classes/Display.class.php:241
63
+ #: classes/Display.class.php:307
64
+ msgid "Saved Options!"
65
+ msgstr ""
66
+
67
+ #: classes/Display.class.php:344
68
+ msgid "If you like %s, please leave us a %s rating. Thank you!"
69
+ msgstr ""
70
+
71
+ #: classes/Display.class.php:359
72
+ msgid "About PublishPress Future"
73
+ msgstr ""
74
+
75
+ #: classes/Display.class.php:361
76
+ msgid "About"
77
+ msgstr ""
78
+
79
+ #: classes/Display.class.php:367
80
+ msgid "Future Documentation"
81
+ msgstr ""
82
+
83
+ #: classes/Display.class.php:369
84
+ msgid "Documentation"
85
+ msgstr ""
86
+
87
+ #: classes/Display.class.php:375
88
+ msgid "Contact the PublishPress team"
89
+ msgstr ""
90
+
91
+ #: classes/Display.class.php:377
92
+ msgid "Contact"
93
+ msgstr ""
94
+
95
  #: classes/Facade.class.php:365
96
  #: views/how-to-expire.php:27
97
  msgid "Draft"
145
  msgstr ""
146
 
147
  #: classes/Facade.class.php:376
148
+ #: views/bulk-edit.php:109
149
  #: views/classic-metabox.php:109
150
+ #: views/menu-defaults.php:84
151
+ #: views/quick-edit.php:72
152
  msgid "How to expire"
153
  msgstr ""
154
 
157
  msgstr ""
158
 
159
  #: classes/Facade.class.php:378
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
 
196
  msgid "Expires"
197
  msgstr ""
198
 
199
+ #: post-expirator.php:804
200
+ #: post-expirator.php:826
201
+ #: post-expirator.php:848
202
+ #: post-expirator.php:870
203
  msgid "%1$s (%2$s) has expired at %3$s. Post status has been successfully changed to \"%4$s\"."
204
  msgstr ""
205
 
206
+ #: post-expirator.php:892
207
  msgid "%1$s (%2$s) has expired at %3$s. Post \"%4$s\" status has been successfully set."
208
  msgstr ""
209
 
210
+ #: post-expirator.php:911
211
  msgid "%1$s (%2$s) has expired at %3$s. Post \"%4$s\" status has been successfully removed."
212
  msgstr ""
213
 
214
+ #: post-expirator.php:937
215
+ #: post-expirator.php:979
216
  msgid "%1$s (%2$s) has expired at %3$s. Post \"%4$s\" have now been set to \"%5$s\"."
217
  msgstr ""
218
 
219
+ #: post-expirator.php:1037
220
+ #: post-expirator.php:1080
221
  msgid "%1$s (%2$s) has expired at %3$s. The following post \"%4$s\" have now been added: \"%5$s\". The full list of categories on the post are: \"%6$s\"."
222
  msgstr ""
223
 
224
+ #: post-expirator.php:1145
225
+ #: post-expirator.php:1195
226
  msgid "%1$s (%2$s) has expired at %3$s. The following post \"%4$s\" have now been removed: \"%5$s\". The full list of categories on the post are: \"%6$s\"."
227
  msgstr ""
228
 
229
+ #: post-expirator.php:1247
230
  msgid "Post Expiration Complete \"%s\""
231
  msgstr ""
232
 
233
+ #: post-expirator.php:1931
234
  msgid "Select the hierarchical taxonomy to be used for \"category\" based expiration."
235
  msgstr ""
236
 
237
+ #: post-expirator.php:1936
238
  msgid "No taxonomies found"
239
  msgstr ""
240
 
241
+ #: post-expirator.php:1983
242
  msgid "You're not allowed to set posts to expire"
243
  msgstr ""
244
 
245
+ #: post-expirator.php:1984
246
  msgid "Forbidden"
247
  msgstr ""
248
 
249
  #: views/bulk-edit.php:21
250
+ #: views/menu-diagnostics.php:90
251
  #: views/quick-edit.php:14
252
  msgid "Date"
253
  msgstr ""
310
  msgid "Minute"
311
  msgstr ""
312
 
313
+ #: views/bulk-edit.php:107
314
+ #: views/quick-edit.php:70
315
  msgid "Type"
316
  msgstr ""
317
 
343
  msgid "Use the values below to set the default actions/values to be used for each for the corresponding post types. These values can all be overwritten when creating/editing the post/page."
344
  msgstr ""
345
 
346
+ #: views/menu-defaults.php:59
347
+ #: views/menu-defaults.php:66
348
  msgid "Active"
349
  msgstr ""
350
 
351
+ #: views/menu-defaults.php:73
352
  msgid "Inactive"
353
  msgstr ""
354
 
355
+ #: views/menu-defaults.php:75
356
+ msgid "Select whether the PublishPress Future meta box is active for this post type."
357
  msgstr ""
358
 
359
+ #: views/menu-defaults.php:94
360
  msgid "Select the default expire action for the post type."
361
  msgstr ""
362
 
363
+ #: views/menu-defaults.php:100
364
  msgid "Auto-Enable?"
365
  msgstr ""
366
 
367
+ #: views/menu-defaults.php:107
368
+ #: views/menu-diagnostics.php:14
369
+ #: views/menu-diagnostics.php:53
370
+ #: views/menu-display.php:73
371
+ #: views/menu-general.php:191
372
+ #: views/menu-general.php:214
373
+ #: views/menu-general.php:263
374
  msgid "Enabled"
375
  msgstr ""
376
 
377
+ #: views/menu-defaults.php:114
378
+ #: views/menu-diagnostics.php:27
379
+ #: views/menu-diagnostics.php:57
380
+ #: views/menu-display.php:77
381
+ #: views/menu-general.php:197
382
+ #: views/menu-general.php:221
383
+ #: views/menu-general.php:269
384
  msgid "Disabled"
385
  msgstr ""
386
 
387
+ #: views/menu-defaults.php:116
388
+ msgid "Select whether the PublishPress Future is enabled for all new posts."
389
  msgstr ""
390
 
391
+ #: views/menu-defaults.php:125
392
  msgid "Taxonomy (hierarchical)"
393
  msgstr ""
394
 
395
+ #: views/menu-defaults.php:140
396
+ #: views/menu-general.php:232
397
  msgid "Who to notify"
398
  msgstr ""
399
 
400
+ #: views/menu-defaults.php:147
401
  msgid "Enter a comma separate list of emails that you would like to be notified when the post expires."
402
  msgstr ""
403
 
404
+ #: views/menu-defaults.php:155
405
+ #: views/menu-general.php:109
406
  msgid "None"
407
  msgstr ""
408
 
409
+ #: views/menu-defaults.php:156
410
  msgid "Inherit from General Settings"
411
  msgstr ""
412
 
413
+ #: views/menu-defaults.php:157
414
+ #: views/menu-defaults.php:198
415
+ #: views/menu-general.php:112
416
+ #: views/menu-general.php:128
417
  msgid "Custom"
418
  msgstr ""
419
 
420
+ #: views/menu-defaults.php:158
421
  msgid "Publish Time"
422
  msgstr ""
423
 
424
+ #: views/menu-defaults.php:173
425
+ #: views/menu-general.php:103
426
  msgid "Default Date/Time Duration"
427
  msgstr ""
428
 
429
+ #: views/menu-defaults.php:188
430
  msgid "Set the default expiration date to be used when creating a new post of this type."
431
  msgstr ""
432
 
433
+ #: views/menu-defaults.php:205
434
+ #: views/menu-general.php:134
435
  msgid "Set the custom value to use for the default expiration date. For information on formatting, see %1$s. For example, you could enter %2$s+1 month%3$s or %4$s+1 week 2 days 4 hours 2 seconds%5$s or %6$snext Thursday%7$s."
436
  msgstr ""
437
 
438
+ #: views/menu-defaults.php:228
439
+ #: views/menu-display.php:126
440
+ #: views/menu-editor.php:33
441
+ #: views/menu-general.php:438
442
  msgid "Save Changes"
443
  msgstr ""
444
 
445
+ #: views/menu-diagnostics.php:5
446
  msgid "Advanced Diagnostics"
447
  msgstr ""
448
 
449
+ #: views/menu-diagnostics.php:9
450
  msgid "Debug Logging"
451
  msgstr ""
452
 
453
+ #: views/menu-diagnostics.php:16
454
  msgid "Disable Debugging"
455
  msgstr ""
456
 
457
+ #: views/menu-diagnostics.php:23
458
  #: views/tabs.php:32
459
  msgid "View Debug Logs"
460
  msgstr ""
461
 
462
+ #: views/menu-diagnostics.php:29
463
  msgid "Enable Debugging"
464
  msgstr ""
465
 
466
+ #: views/menu-diagnostics.php:40
467
+ #: views/menu-diagnostics.php:43
468
  msgid "Purge Debug Log"
469
  msgstr ""
470
 
471
+ #: views/menu-diagnostics.php:48
472
  msgid "WP-Cron Status"
473
  msgstr ""
474
 
475
+ #: views/menu-diagnostics.php:65
476
  msgid "Current Cron Schedule"
477
  msgstr ""
478
 
479
+ #: views/menu-diagnostics.php:73
480
  msgid "No cron events found for the plugin."
481
  msgstr ""
482
 
483
+ #: views/menu-diagnostics.php:81
484
+ msgid "The below table will show all currently scheduled cron events for the pluginwith the next run time."
485
  msgstr ""
486
 
487
+ #: views/menu-diagnostics.php:92
488
  msgid "Event"
489
  msgstr ""
490
 
491
+ #: views/menu-diagnostics.php:94
492
  msgid "Arguments / Schedule"
493
  msgstr ""
494
 
495
+ #: views/menu-diagnostics.php:96
496
  msgid "Post"
497
  msgstr ""
498
 
499
+ #: views/menu-diagnostics.php:113
500
  msgid "No Arguments"
501
  msgstr ""
502
 
503
+ #: views/menu-diagnostics.php:126
504
  msgid "Single Event"
505
  msgstr ""
506
 
507
+ #: views/menu-display.php:27
 
 
 
 
508
  msgid "Shortcode"
509
  msgstr ""
510
 
511
+ #: views/menu-display.php:29
512
  msgid "Valid %s attributes:"
513
  msgstr ""
514
 
515
+ #: views/menu-display.php:33
516
  msgid "%1$s - valid options are %2$sfull%3$s (default), %4$sdate%5$s, %6$stime%7$s"
517
  msgstr ""
518
 
519
+ #: views/menu-display.php:47
520
+ #: views/menu-display.php:52
521
  msgid "%s - format set here will override the value set on the settings page"
522
  msgstr ""
523
 
524
+ #: views/menu-display.php:60
525
+ #: views/menu-general.php:248
526
+ msgid "Post Footer Display"
527
  msgstr ""
528
 
529
+ #: views/menu-display.php:62
530
+ #: views/menu-general.php:250
531
+ msgid "Enabling this below will display the expiration date automatically at the end of any post which is set to expire."
532
  msgstr ""
533
 
534
+ #: views/menu-display.php:69
535
+ #: views/menu-general.php:257
536
+ msgid "Show in post footer?"
537
  msgstr ""
538
 
539
+ #: views/menu-display.php:79
540
+ #: views/menu-general.php:271
541
+ msgid "This will enable or disable displaying the post expiration date in the post footer."
542
  msgstr ""
543
 
544
+ #: views/menu-display.php:87
545
+ #: views/menu-general.php:280
546
+ msgid "Footer Contents"
547
  msgstr ""
548
 
549
+ #: views/menu-display.php:92
550
+ #: views/menu-general.php:287
551
+ msgid "Enter the text you would like to appear at the bottom of every post that will expire. The following placeholders will be replaced with the post expiration date in the following format:"
552
  msgstr ""
553
 
554
+ #: views/menu-display.php:110
555
+ #: views/menu-general.php:319
556
+ msgid "Footer Style"
557
  msgstr ""
558
 
559
+ #: views/menu-display.php:116
560
+ #: views/menu-general.php:326
561
+ msgid "This post will expire on"
562
  msgstr ""
563
 
564
+ #: views/menu-display.php:119
565
+ #: views/menu-general.php:332
566
+ msgid "The inline css which will be used to style the footer text."
567
  msgstr ""
568
 
569
+ #: views/menu-editor.php:6
570
+ msgid "Editor"
571
  msgstr ""
572
 
573
+ #: views/menu-editor.php:13
574
+ #: views/menu-general.php:350
575
+ msgid "Block Editor Support"
576
  msgstr ""
577
 
578
+ #: views/menu-editor.php:17
579
+ #: views/menu-general.php:356
580
+ msgid "Show Gutenberg style box"
581
  msgstr ""
582
 
583
+ #: views/menu-editor.php:21
584
+ #: views/menu-general.php:362
585
+ msgid "Show Classic Editor style box"
586
  msgstr ""
587
 
588
+ #: views/menu-editor.php:23
589
+ #: views/menu-general.php:364
590
+ msgid "Toggle between native support for the Block Editor or the backward compatible Classic Editor style metabox."
591
  msgstr ""
592
 
593
+ #: views/menu-general.php:50
594
+ #: views/menu-general.php:56
595
+ msgid "The PublishPress Future plugin sets a custom meta value, and then optionally allows you to select if you want the post changed to a draft status or deleted when it expires."
596
  msgstr ""
597
 
598
+ #: views/menu-general.php:65
599
+ #: views/tabs.php:15
600
+ msgid "Defaults"
601
  msgstr ""
602
 
603
+ #: views/menu-general.php:69
604
+ msgid "Date Format"
605
  msgstr ""
606
 
607
+ #: views/menu-general.php:76
608
+ msgid "The default format to use when displaying the expiration date within a post using the shortcode or within the footer. For information on valid formatting options, see: %s."
609
  msgstr ""
610
 
611
+ #: views/menu-general.php:86
612
+ msgid "Time Format"
613
  msgstr ""
614
 
615
+ #: views/menu-general.php:93
616
+ msgid "The default format to use when displaying the expiration time within a post using the shortcode or within the footer. For information on valid formatting options, see: %s."
617
  msgstr ""
618
 
619
+ #: views/menu-general.php:115
620
+ msgid "Post/Page Publish Time"
621
  msgstr ""
622
 
623
+ #: views/menu-general.php:118
624
+ msgid "Set the default expiration date to be used when creating new posts and pages. Defaults to none."
625
  msgstr ""
626
 
627
+ #: views/menu-general.php:151
628
+ msgid "Default Expiration Category"
629
  msgstr ""
630
 
631
+ #: views/menu-general.php:170
632
+ msgid "Sets the default expiration category for the post."
633
  msgstr ""
634
 
635
+ #: views/menu-general.php:176
636
+ msgid "Expiration Email Notification"
637
  msgstr ""
638
 
639
+ #: views/menu-general.php:178
640
+ msgid "Whenever a post expires, an email can be sent to alert users of the expiration."
641
  msgstr ""
642
 
643
+ #: views/menu-general.php:185
644
+ msgid "Enable Email Notification?"
645
  msgstr ""
646
 
647
+ #: views/menu-general.php:199
648
+ msgid "This will enable or disable the send of email notification on post expiration."
649
  msgstr ""
650
 
651
+ #: views/menu-general.php:207
652
+ msgid "Include Blog Administrators?"
653
  msgstr ""
654
 
655
+ #: views/menu-general.php:223
656
+ msgid "This will include all users with the role of \"Administrator\" in the post expiration email."
657
  msgstr ""
658
 
659
+ #: views/menu-general.php:239
660
+ msgid "Enter a comma separate list of emails that you would like to be notified when the post expires. This will be applied to ALL post types. You can set post type specific emails on the Defaults tab."
661
  msgstr ""
662
 
663
+ #: views/menu-general.php:338
664
+ msgid "Advanced Options"
665
  msgstr ""
666
 
667
+ #: views/menu-general.php:340
668
+ msgid "Please do not update anything here unless you know what it entails. For advanced users only."
669
+ msgstr ""
670
+
671
+ #: views/menu-general.php:373
672
+ msgid "Choose which user roles can use PublishPress Future"
673
+ msgstr ""
674
+
675
+ #: views/menu-general.php:404
676
  msgid "Preserve data after deactivating the plugin"
677
  msgstr ""
678
 
679
+ #: views/menu-general.php:413
680
  msgid "Preserve data"
681
  msgstr ""
682
 
683
+ #: views/menu-general.php:422
684
  msgid "Delete data"
685
  msgstr ""
686
 
687
+ #: views/menu-general.php:426
688
  msgid "Toggle between preserving or deleting data after the plugin is deactivated."
689
  msgstr ""
690
 
 
 
 
 
691
  #: views/tabs.php:20
692
  msgid "Post Types"
693
  msgstr ""
post-expirator.php CHANGED
@@ -1,17 +1,17 @@
1
  <?php
2
  /*
3
- Plugin Name: Post Expirator
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.6.3
8
  Author URI: http://publishpress.com
9
  Text Domain: post-expirator
10
  Domain Path: /languages
11
  */
12
 
13
  // Default Values
14
- define('POSTEXPIRATOR_VERSION', '2.6.3');
15
  define('POSTEXPIRATOR_DATEFORMAT', __('l F jS, Y', 'post-expirator'));
16
  define('POSTEXPIRATOR_TIMEFORMAT', __('g:ia', 'post-expirator'));
17
  define('POSTEXPIRATOR_FOOTERCONTENTS', __('Post expires at EXPIRATIONTIME on EXPIRATIONDATE', 'post-expirator'));
@@ -29,7 +29,6 @@ define('POSTEXPIRATOR_BASEURL', plugins_url('/', __FILE__));
29
  require_once POSTEXPIRATOR_BASEDIR . '/functions.php';
30
  require_once POSTEXPIRATOR_BASEDIR . '/vendor/autoload.php';
31
 
32
-
33
  /**
34
  * Adds links to the plugin listing screen.
35
  *
@@ -41,7 +40,7 @@ function postexpirator_plugin_action_links($links, $file)
41
  {
42
  $this_plugin = basename(plugin_dir_url(__FILE__)) . '/post-expirator.php';
43
  if ($file === $this_plugin) {
44
- $links[] = '<a href="options-general.php?page=post-expirator">' . __('Settings', 'post-expirator') . '</a>';
45
  }
46
 
47
  return $links;
@@ -347,7 +346,7 @@ function postexpirator_meta_custom()
347
  ) && $defaults['activeMetaBox'] === 'active')) {
348
  add_meta_box(
349
  'expirationdatediv',
350
- __('Post Expirator', 'post-expirator'),
351
  'postexpirator_meta_box',
352
  $type,
353
  'side',
@@ -553,18 +552,15 @@ function postexpirator_update_post_meta($id)
553
  $ts = get_gmt_from_date("$year-$month-$day $hour:$minute:0", 'U');
554
 
555
  if (isset($_POST['expirationdate_quickedit'])) {
556
- $ed = get_post_meta($id, '_expiration-date', true);
557
- if ($ed) {
558
- $opts = PostExpirator_Facade::get_expire_principles($id);
559
- if (isset($_POST['expirationdate_expiretype'])) {
560
- $opts['expireType'] = $_POST['expirationdate_expiretype'];
561
- if (in_array($opts['expireType'], array(
562
- 'category',
563
- 'category-add',
564
- 'category-remove'
565
- ), true)) {
566
- $opts['category'] = $_POST['expirationdate_category'];
567
- }
568
  }
569
  }
570
  } else {
@@ -677,7 +673,6 @@ function postexpirator_schedule_event($id, $ts, $opts)
677
 
678
  $error = wp_schedule_single_event($ts, 'postExpiratorExpire', array($id), true);
679
  if (POSTEXPIRATOR_DEBUG) {
680
-
681
  $debug->save(
682
  array(
683
  'message' => $id . ' -> SCHEDULED at ' .
@@ -1411,8 +1406,9 @@ function postexpirator_shortcode($atts)
1411
  {
1412
  global $post;
1413
 
 
1414
  $expirationdatets = get_post_meta($post->ID, '_expiration-date', true);
1415
- if (empty($expirationdatets)) {
1416
  return false;
1417
  }
1418
 
@@ -1472,6 +1468,12 @@ function postexpirator_add_footer($text)
1472
  return $text;
1473
  }
1474
 
 
 
 
 
 
 
1475
  $expirationdatets = get_post_meta($post->ID, '_expiration-date', true);
1476
  if (! is_numeric($expirationdatets)) {
1477
  return $text;
@@ -1567,7 +1569,7 @@ function postexpirator_css($screen_id)
1567
  add_action('admin_enqueue_scripts', 'postexpirator_css', 10, 1);
1568
 
1569
  /**
1570
- * Post Expirator Activation/Upgrade
1571
  *
1572
  * @internal
1573
  *
1
  <?php
2
  /*
3
+ Plugin Name: PublishPress Future
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.0
8
  Author URI: http://publishpress.com
9
  Text Domain: post-expirator
10
  Domain Path: /languages
11
  */
12
 
13
  // Default Values
14
+ define('POSTEXPIRATOR_VERSION', '2.7.0');
15
  define('POSTEXPIRATOR_DATEFORMAT', __('l F jS, Y', 'post-expirator'));
16
  define('POSTEXPIRATOR_TIMEFORMAT', __('g:ia', 'post-expirator'));
17
  define('POSTEXPIRATOR_FOOTERCONTENTS', __('Post expires at EXPIRATIONTIME on EXPIRATIONDATE', 'post-expirator'));
29
  require_once POSTEXPIRATOR_BASEDIR . '/functions.php';
30
  require_once POSTEXPIRATOR_BASEDIR . '/vendor/autoload.php';
31
 
 
32
  /**
33
  * Adds links to the plugin listing screen.
34
  *
40
  {
41
  $this_plugin = basename(plugin_dir_url(__FILE__)) . '/post-expirator.php';
42
  if ($file === $this_plugin) {
43
+ $links[] = '<a href="admin.php?page=publishpress-future">' . __('Settings', 'post-expirator') . '</a>';
44
  }
45
 
46
  return $links;
346
  ) && $defaults['activeMetaBox'] === 'active')) {
347
  add_meta_box(
348
  'expirationdatediv',
349
+ __('PublishPress Future', 'post-expirator'),
350
  'postexpirator_meta_box',
351
  $type,
352
  'side',
552
  $ts = get_gmt_from_date("$year-$month-$day $hour:$minute:0", 'U');
553
 
554
  if (isset($_POST['expirationdate_quickedit'])) {
555
+ $opts = PostExpirator_Facade::get_expire_principles($id);
556
+ if (isset($_POST['expirationdate_expiretype'])) {
557
+ $opts['expireType'] = $_POST['expirationdate_expiretype'];
558
+ if (in_array($opts['expireType'], array(
559
+ 'category',
560
+ 'category-add',
561
+ 'category-remove'
562
+ ), true)) {
563
+ $opts['category'] = $_POST['expirationdate_category'];
 
 
 
564
  }
565
  }
566
  } else {
673
 
674
  $error = wp_schedule_single_event($ts, 'postExpiratorExpire', array($id), true);
675
  if (POSTEXPIRATOR_DEBUG) {
 
676
  $debug->save(
677
  array(
678
  'message' => $id . ' -> SCHEDULED at ' .
1406
  {
1407
  global $post;
1408
 
1409
+ $enabled = PostExpirator_Facade::is_expiration_enabled_for_post($post->ID);
1410
  $expirationdatets = get_post_meta($post->ID, '_expiration-date', true);
1411
+ if (! $enabled || empty($expirationdatets)) {
1412
  return false;
1413
  }
1414
 
1468
  return $text;
1469
  }
1470
 
1471
+ $enabled = PostExpirator_Facade::is_expiration_enabled_for_post($post->ID);
1472
+
1473
+ if (empty($enabled)) {
1474
+ return $text;
1475
+ }
1476
+
1477
  $expirationdatets = get_post_meta($post->ID, '_expiration-date', true);
1478
  if (! is_numeric($expirationdatets)) {
1479
  return $text;
1569
  add_action('admin_enqueue_scripts', 'postexpirator_css', 10, 1);
1570
 
1571
  /**
1572
+ * PublishPress Future Activation/Upgrade
1573
  *
1574
  * @internal
1575
  *
readme.txt CHANGED
@@ -1,19 +1,19 @@
1
- === Post Expirator: Automatically Unpublish WordPress Posts ===
2
- Contributors: publishpress, kevinB, stevejburge, andergmartins, rozroz
3
  Author: publishpress
4
  Author URI: https://publishpress.com
5
- Tags: expire, posts, pages, schedule
6
  Requires at least: 5.0
7
  Tested up to: 5.8
8
- Stable tag: 2.6.3
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
 
12
  == Description ==
13
 
14
- The Post Expirator plugin allows you to add an expiration date to posts. pages and other content type. When your post is automatically unpublished, you can delete the post, change the status, or update the post categories.
15
 
16
- Here's an overview of what you can do with Post Expirator:
17
 
18
  * Choose expiry dates for content in any post type.
19
  * Select expiry dates in the right sidebar when editing posts.
@@ -22,6 +22,8 @@ Here's an overview of what you can do with Post Expirator:
22
  * Receive email notifications when your content expires.
23
  * Show expiry dates in your content, automatically or with shortcodes.
24
 
 
 
25
  ## Options for Expiring Posts
26
 
27
  When your posts expire, you can perform these changes on your content:
@@ -40,7 +42,7 @@ When your posts expire, you can perform these changes on your content:
40
 
41
  ## Display the Expiry Date in Your Content
42
 
43
- Post Expirator allows you to place automatically show the expiry date inside your articles. The expiry will be added at the bottom of your post.
44
 
45
  [Click here to see the Footer Display options](https://publishpress.com/knowledge-base/footer-display/).
46
 
@@ -50,19 +52,19 @@ You can use shortcodes to show the expiration date inside your posts. You can cu
50
 
51
  ## Expiry Defaults for Post Types
52
 
53
- Post Expirator can support any post type in WordPress. Go to Settings > Post Expirator > Defaults and you can choose default expiry options for each post type.
54
 
55
  [Click here to see the default options](https://publishpress.com/knowledge-base/defaults-for-post-types/).
56
 
57
- ## Post Expirator Email Notifications
58
 
59
- The Post Expirator plugin can send you email notifications when your content is unpublished. You can control the emails by going to Settings > Post Expirator > General Settings.
60
 
61
  [Click here to see the notification options](https://publishpress.com/knowledge-base/email-notifications/).
62
 
63
  ## Details on How Post Expiry Works
64
 
65
- For each expiration event, a custom cron job is scheduled. This can help reduce server overhead for busy sites. This plugin REQUIRES that WP-CRON is setup and functional on your webhost. Some hosts do not support this, so please check and confirm if you run into issues using the plugin.
66
 
67
  [Click here to see the technical details for this plugin](https://publishpress.com/knowledge-base/scheduling-cron-jobs/).
68
 
@@ -81,6 +83,17 @@ This section describes how to install the plugin and get it working.
81
 
82
  == Changelog ==
83
 
 
 
 
 
 
 
 
 
 
 
 
84
  = [2.6.3] - 18 Nov 2021 =
85
 
86
  * Fixed: Fix the timezone applied to time fields, #134;
@@ -128,7 +141,7 @@ This section describes how to install the plugin and get it working.
128
  = [2.5.0] - 08 Aug 2021 =
129
 
130
  * Fixed: Appearance Widgets screen shows PHP Notice, #92;
131
- * Fixed: Stop the Post Expirator box from appearing in non-public post types, #78;
132
  * Added: Add "How to Expire" to Quick Edit, #62;
133
  * Changed: Settings UI enhancement, #14;
134
  * Fixed: Hide metabox from Media Library files, #56;
1
+ === PublishPress Future: Automatically Unpublish Posts and Pages on a Future Date ===
2
+ Contributors: publishpress, kevinB, stevejburge, andergmartins
3
  Author: publishpress
4
  Author URI: https://publishpress.com
5
+ Tags: expire, posts, pages, schedule, unpublish
6
  Requires at least: 5.0
7
  Tested up to: 5.8
8
+ Stable tag: 2.7.0
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
 
12
  == Description ==
13
 
14
+ The PublishPress Future plugin allows you to add an expiration date to posts. pages and other content type. When your post is automatically unpublished, you can delete the post, change the status, or update the post categories.
15
 
16
+ Here's an overview of what you can do with PublishPress Future:
17
 
18
  * Choose expiry dates for content in any post type.
19
  * Select expiry dates in the right sidebar when editing posts.
22
  * Receive email notifications when your content expires.
23
  * Show expiry dates in your content, automatically or with shortcodes.
24
 
25
+ This plugin was previously known as "Post Expirator".
26
+
27
  ## Options for Expiring Posts
28
 
29
  When your posts expire, you can perform these changes on your content:
42
 
43
  ## Display the Expiry Date in Your Content
44
 
45
+ PublishPress Future allows you to automatically show the expiry date inside your articles. The expiry will be added at the bottom of your post.
46
 
47
  [Click here to see the Footer Display options](https://publishpress.com/knowledge-base/footer-display/).
48
 
52
 
53
  ## Expiry Defaults for Post Types
54
 
55
+ PublishPress Future can support any post type in WordPress. Go to Settings > PublishPress Future > Defaults and you can choose default expiry options for each post type.
56
 
57
  [Click here to see the default options](https://publishpress.com/knowledge-base/defaults-for-post-types/).
58
 
59
+ ## PublishPress Future Email Notifications
60
 
61
+ The PublishPress Future plugin can send you email notifications when your content is unpublished. You can control the emails by going to Settings > PublishPress Future > General Settings.
62
 
63
  [Click here to see the notification options](https://publishpress.com/knowledge-base/email-notifications/).
64
 
65
  ## Details on How Post Expiry Works
66
 
67
+ For each expiration event, a custom cron job is scheduled. This can help reduce server overhead for busy sites. This plugin REQUIRES that WP-CRON is set up and functional on your webhost. Some hosts do not support this, so please check and confirm if you run into issues using the plugin.
68
 
69
  [Click here to see the technical details for this plugin](https://publishpress.com/knowledge-base/scheduling-cron-jobs/).
70
 
83
 
84
  == Changelog ==
85
 
86
+ = [2.7.0] - 02 Dec 2021 =
87
+
88
+ * Changed: Rename the plugin from Post Expirator to PublishpPress Future, #14;
89
+ * Changed: Add the PublishPress footer and branding, #68;
90
+ * Changed: Separate the settings into different tabs, #97, #98;
91
+ * Changed: Rename the "General Settings" tab to "Default", #99;
92
+ * Added: Add new admin menu item: Future, #8;
93
+ * Fixed: Fix the 1hr diff between expiration time when editing and shown in post list, #138;
94
+ * Fixed: Post Expirator is adding wrong expiry dates to old posts, #160;
95
+ * Fixed: Post Expirator is setting unwanted expire time for posts, #187;
96
+
97
  = [2.6.3] - 18 Nov 2021 =
98
 
99
  * Fixed: Fix the timezone applied to time fields, #134;
141
  = [2.5.0] - 08 Aug 2021 =
142
 
143
  * Fixed: Appearance Widgets screen shows PHP Notice, #92;
144
+ * Fixed: Stop the PublishPress Future box from appearing in non-public post types, #78;
145
  * Added: Add "How to Expire" to Quick Edit, #62;
146
  * Changed: Settings UI enhancement, #14;
147
  * Fixed: Hide metabox from Media Library files, #56;
vendor/composer/installed.json CHANGED
@@ -2,26 +2,41 @@
2
  "packages": [
3
  {
4
  "name": "publishpress/wordpress-reviews",
5
- "version": "v1.1.13",
6
- "version_normalized": "1.1.13.0",
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/publishpress/wordpress-reviews.git",
10
- "reference": "6eb69db653b5df376a81571153eacd2da0f5524b"
11
  },
12
  "dist": {
13
  "type": "zip",
14
- "url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/6eb69db653b5df376a81571153eacd2da0f5524b",
15
- "reference": "6eb69db653b5df376a81571153eacd2da0f5524b",
16
  "shasum": ""
17
  },
18
  "require": {
19
  "php": ">=5.6.20"
20
  },
21
  "require-dev": {
22
- "overtrue/phplint": "^2.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  },
24
- "time": "2021-11-16T19:29:19+00:00",
25
  "type": "library",
26
  "installation-source": "dist",
27
  "autoload": {
@@ -52,7 +67,7 @@
52
  ],
53
  "support": {
54
  "issues": "https://github.com/publishpress/wordpress-reviews/issues",
55
- "source": "https://github.com/publishpress/wordpress-reviews/tree/v1.1.13"
56
  },
57
  "install-path": "../publishpress/wordpress-reviews"
58
  }
2
  "packages": [
3
  {
4
  "name": "publishpress/wordpress-reviews",
5
+ "version": "v1.1.16",
6
+ "version_normalized": "1.1.16.0",
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/publishpress/wordpress-reviews.git",
10
+ "reference": "2b647f104d7aa64e0c72c028f86e1875035b7a91"
11
  },
12
  "dist": {
13
  "type": "zip",
14
+ "url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/2b647f104d7aa64e0c72c028f86e1875035b7a91",
15
+ "reference": "2b647f104d7aa64e0c72c028f86e1875035b7a91",
16
  "shasum": ""
17
  },
18
  "require": {
19
  "php": ">=5.6.20"
20
  },
21
  "require-dev": {
22
+ "codeception/module-asserts": "^1.0",
23
+ "codeception/module-cli": "^1.0",
24
+ "codeception/module-db": "^1.0",
25
+ "codeception/module-filesystem": "^1.0",
26
+ "codeception/module-phpbrowser": "^1.0",
27
+ "codeception/module-rest": "^1.3",
28
+ "codeception/module-webdriver": "^1.0",
29
+ "codeception/util-universalframework": "^1.0",
30
+ "lucatume/wp-browser": "^3",
31
+ "overtrue/phplint": "^2.1",
32
+ "phpmd/phpmd": "^2.8",
33
+ "publishpress/publishpress-plugin-builder": "^1.2",
34
+ "sebastian/phpcpd": "^5.0",
35
+ "squizlabs/php_codesniffer": "^3.5",
36
+ "wp-cli/i18n-command": "^2.2",
37
+ "wp-cli/wp-cli": "^2.5"
38
  },
39
+ "time": "2021-12-01T20:36:26+00:00",
40
  "type": "library",
41
  "installation-source": "dist",
42
  "autoload": {
67
  ],
68
  "support": {
69
  "issues": "https://github.com/publishpress/wordpress-reviews/issues",
70
+ "source": "https://github.com/publishpress/wordpress-reviews/tree/v1.1.16"
71
  },
72
  "install-path": "../publishpress/wordpress-reviews"
73
  }
vendor/composer/installed.php CHANGED
@@ -5,7 +5,7 @@
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => '2070923cee2ef7e7c5c87ac0dc8f45fdb0cb73e0',
9
  'name' => 'publishpress/post-expirator',
10
  'dev' => false,
11
  ),
@@ -16,16 +16,16 @@
16
  'type' => 'wordpress-plugin',
17
  'install_path' => __DIR__ . '/../../',
18
  'aliases' => array(),
19
- 'reference' => '2070923cee2ef7e7c5c87ac0dc8f45fdb0cb73e0',
20
  'dev_requirement' => false,
21
  ),
22
  'publishpress/wordpress-reviews' => array(
23
- 'pretty_version' => 'v1.1.13',
24
- 'version' => '1.1.13.0',
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../publishpress/wordpress-reviews',
27
  'aliases' => array(),
28
- 'reference' => '6eb69db653b5df376a81571153eacd2da0f5524b',
29
  'dev_requirement' => false,
30
  ),
31
  ),
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => '727fb5ed7cf1e94811eb97ba2b36a80b81085371',
9
  'name' => 'publishpress/post-expirator',
10
  'dev' => false,
11
  ),
16
  'type' => 'wordpress-plugin',
17
  'install_path' => __DIR__ . '/../../',
18
  'aliases' => array(),
19
+ 'reference' => '727fb5ed7cf1e94811eb97ba2b36a80b81085371',
20
  'dev_requirement' => false,
21
  ),
22
  'publishpress/wordpress-reviews' => array(
23
+ 'pretty_version' => 'v1.1.16',
24
+ 'version' => '1.1.16.0',
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../publishpress/wordpress-reviews',
27
  'aliases' => array(),
28
+ 'reference' => '2b647f104d7aa64e0c72c028f86e1875035b7a91',
29
  'dev_requirement' => false,
30
  ),
31
  ),
vendor/publishpress/wordpress-reviews/.gitignore CHANGED
@@ -1,2 +1,4 @@
 
 
1
  .idea/
2
- vendor/
1
+ .phplint-cache
2
+
3
  .idea/
4
+ vendor/
vendor/publishpress/wordpress-reviews/ReviewsController.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * @package PublishPress
4
  * @author PublishPress
@@ -36,7 +37,6 @@
36
 
37
  namespace PublishPress\WordPressReviews;
38
 
39
-
40
  use Exception;
41
 
42
  /**
@@ -148,7 +148,7 @@ class ReviewsController
148
  */
149
  private function screenIsAllowedToDisplayNotice()
150
  {
151
- $displayNotice = is_admin() && current_user_can('edit_posts');
152
 
153
  /**
154
  * Deprecated filter to specify a custom conditional to display or not the notice.
@@ -170,7 +170,25 @@ class ReviewsController
170
  *
171
  * @return bool
172
  */
173
- return apply_filters("{$this->pluginSlug}_wp_reviews_allow_display_notice", $displayNotice);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  }
175
 
176
  /**
@@ -254,10 +272,12 @@ class ReviewsController
254
 
255
  foreach ($triggers as $g => $group) {
256
  foreach ($group['triggers'] as $trigger) {
257
- if (! in_array(
 
258
  false,
259
  $trigger['conditions']
260
- ) && (empty($dismissedTriggers[$g]) || $dismissedTriggers[$g] < $trigger['priority'])) {
 
261
  $selected[$this->pluginSlug] = $g;
262
  break;
263
  }
@@ -401,10 +421,12 @@ class ReviewsController
401
 
402
  foreach ($this->getTriggers() as $g => $group) {
403
  foreach ($group['triggers'] as $t => $trigger) {
404
- if (! in_array(
 
405
  false,
406
  $trigger['conditions']
407
- ) && (empty($dismissedTriggers[$g]) || $dismissedTriggers[$g] < $trigger['priority'])) {
 
408
  $selected[$this->pluginSlug] = $t;
409
  break;
410
  }
@@ -416,7 +438,7 @@ class ReviewsController
416
  }
417
  }
418
 
419
- if (!isset($selected[$this->pluginSlug])) {
420
  return false;
421
  }
422
 
@@ -548,7 +570,7 @@ class ReviewsController
548
  }
549
  });
550
 
551
- <?php if ( ! empty($this->apiUrl) ) : ?>
552
  $.ajax({
553
  method: "POST",
554
  dataType: "json",
@@ -594,7 +616,7 @@ class ReviewsController
594
  <img src="<?php
595
  echo $this->iconUrl; ?>" class="notice-icon" alt="<?php
596
  echo $this->pluginName; ?> logo"/>
597
- <?php
598
  endif; ?>
599
 
600
  <p><?php
@@ -604,14 +626,12 @@ class ReviewsController
604
  echo "$this->pluginSlug-dismiss"; ?>"
605
  target="_blank"
606
  href="<?php
607
- echo $trigger['link']; ?>"
608
  data-reason="am_now"
609
  >
610
  <strong><?php
611
- echo sprintf(
612
- __('Click here to add your rating for %s', $this->pluginSlug),
613
- $this->pluginName
614
- ); ?></strong>
615
  </a>
616
  <a href="#" class="button <?php
617
  echo "$this->pluginSlug-dismiss"; ?>" data-reason="maybe_later">
1
  <?php
2
+
3
  /**
4
  * @package PublishPress
5
  * @author PublishPress
37
 
38
  namespace PublishPress\WordPressReviews;
39
 
 
40
  use Exception;
41
 
42
  /**
148
  */
149
  private function screenIsAllowedToDisplayNotice()
150
  {
151
+ $displayNotice = is_admin();
152
 
153
  /**
154
  * Deprecated filter to specify a custom conditional to display or not the notice.
170
  *
171
  * @return bool
172
  */
173
+ $displayNotice = apply_filters("{$this->pluginSlug}_wp_reviews_allow_display_notice", $displayNotice);
174
+
175
+ if (! $this->currentUserIsAdministrator()) {
176
+ $displayNotice = false;
177
+ }
178
+
179
+ return $displayNotice;
180
+ }
181
+
182
+ private function currentUserIsAdministrator()
183
+ {
184
+ $currentUser = get_current_user_id();
185
+ $currentUser = get_user_by('ID', $currentUser);
186
+
187
+ if (empty($currentUser) || ! is_object($currentUser) && is_wp_error($currentUser)) {
188
+ return false;
189
+ }
190
+
191
+ return in_array('administrator', $currentUser->roles);
192
  }
193
 
194
  /**
272
 
273
  foreach ($triggers as $g => $group) {
274
  foreach ($group['triggers'] as $trigger) {
275
+ if (
276
+ ! in_array(
277
  false,
278
  $trigger['conditions']
279
+ ) && (empty($dismissedTriggers[$g]) || $dismissedTriggers[$g] < $trigger['priority'])
280
+ ) {
281
  $selected[$this->pluginSlug] = $g;
282
  break;
283
  }
421
 
422
  foreach ($this->getTriggers() as $g => $group) {
423
  foreach ($group['triggers'] as $t => $trigger) {
424
+ if (
425
+ ! in_array(
426
  false,
427
  $trigger['conditions']
428
+ ) && (empty($dismissedTriggers[$g]) || $dismissedTriggers[$g] < $trigger['priority'])
429
+ ) {
430
  $selected[$this->pluginSlug] = $t;
431
  break;
432
  }
438
  }
439
  }
440
 
441
+ if (! isset($selected[$this->pluginSlug])) {
442
  return false;
443
  }
444
 
570
  }
571
  });
572
 
573
+ <?php if (! empty($this->apiUrl)) : ?>
574
  $.ajax({
575
  method: "POST",
576
  dataType: "json",
616
  <img src="<?php
617
  echo $this->iconUrl; ?>" class="notice-icon" alt="<?php
618
  echo $this->pluginName; ?> logo"/>
619
+ <?php
620
  endif; ?>
621
 
622
  <p><?php
626
  echo "$this->pluginSlug-dismiss"; ?>"
627
  target="_blank"
628
  href="<?php
629
+ echo $trigger['link']; ?>"
630
  data-reason="am_now"
631
  >
632
  <strong><?php
633
+ $message = __('Click here to add your rating for %s', $this->pluginSlug);
634
+ echo sprintf($message, $this->pluginName); ?></strong>
 
 
635
  </a>
636
  <a href="#" class="button <?php
637
  echo "$this->pluginSlug-dismiss"; ?>" data-reason="maybe_later">
vendor/publishpress/wordpress-reviews/composer.json CHANGED
@@ -26,6 +26,21 @@
26
  "php": ">=5.6.20"
27
  },
28
  "require-dev": {
29
- "overtrue/phplint": "^2.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  }
31
- }
26
  "php": ">=5.6.20"
27
  },
28
  "require-dev": {
29
+ "lucatume/wp-browser": "^3",
30
+ "codeception/module-asserts": "^1.0",
31
+ "codeception/module-phpbrowser": "^1.0",
32
+ "codeception/module-webdriver": "^1.0",
33
+ "codeception/module-db": "^1.0",
34
+ "codeception/module-filesystem": "^1.0",
35
+ "codeception/module-cli": "^1.0",
36
+ "codeception/util-universalframework": "^1.0",
37
+ "codeception/module-rest": "^1.3",
38
+ "publishpress/publishpress-plugin-builder": "^1.2",
39
+ "phpmd/phpmd": "^2.8",
40
+ "squizlabs/php_codesniffer": "^3.5",
41
+ "sebastian/phpcpd": "^5.0",
42
+ "overtrue/phplint": "^2.1",
43
+ "wp-cli/wp-cli": "^2.5",
44
+ "wp-cli/i18n-command": "^2.2"
45
  }
46
+ }
vendor/publishpress/wordpress-reviews/composer.lock CHANGED
@@ -4,94 +4,91 @@
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
- "content-hash": "a47c2b0c564dacf272772323aaf812ae",
8
  "packages": [],
9
  "packages-dev": [
10
  {
11
- "name": "n98/junit-xml",
12
- "version": "1.1.0",
13
  "source": {
14
  "type": "git",
15
- "url": "https://github.com/cmuench/junit-xml.git",
16
- "reference": "0017dd92ac8cb619f02e32f4cffd768cfe327c73"
17
  },
18
  "dist": {
19
  "type": "zip",
20
- "url": "https://api.github.com/repos/cmuench/junit-xml/zipball/0017dd92ac8cb619f02e32f4cffd768cfe327c73",
21
- "reference": "0017dd92ac8cb619f02e32f4cffd768cfe327c73",
22
  "shasum": ""
23
  },
 
 
 
24
  "require-dev": {
25
- "phpunit/phpunit": "^9.5.0"
26
  },
27
  "type": "library",
28
- "autoload": {
29
- "psr-4": {
30
- "N98\\JUnitXml\\": "src/N98/JUnitXml"
31
- }
32
- },
33
  "notification-url": "https://packagist.org/downloads/",
34
  "license": [
35
  "MIT"
36
  ],
37
  "authors": [
38
  {
39
- "name": "Christian Münch",
40
- "email": "c.muench@netz98.de"
41
  }
42
  ],
43
- "description": "JUnit XML Document generation library",
 
 
 
 
 
 
 
 
 
 
44
  "support": {
45
- "issues": "https://github.com/cmuench/junit-xml/issues",
46
- "source": "https://github.com/cmuench/junit-xml/tree/1.1.0"
47
  },
48
- "time": "2020-12-25T09:08:58+00:00"
49
  },
50
  {
51
- "name": "overtrue/phplint",
52
- "version": "2.4.1",
53
  "source": {
54
  "type": "git",
55
- "url": "https://github.com/overtrue/phplint.git",
56
- "reference": "59affacd0b09a1460e39acf2c64c963ddbf734cf"
57
  },
58
  "dist": {
59
  "type": "zip",
60
- "url": "https://api.github.com/repos/overtrue/phplint/zipball/59affacd0b09a1460e39acf2c64c963ddbf734cf",
61
- "reference": "59affacd0b09a1460e39acf2c64c963ddbf734cf",
62
  "shasum": ""
63
  },
64
  "require": {
65
- "ext-json": "*",
66
- "n98/junit-xml": "1.1.0",
67
- "php": ">=5.5.9",
68
- "symfony/console": "^3.2|^4.0|^5.0",
69
- "symfony/finder": "^3.0|^4.0|^5.0",
70
- "symfony/process": "^3.3|^4.0|^5.0",
71
- "symfony/yaml": "^3.0|^4.0|^5.0"
72
  },
73
  "require-dev": {
74
- "brainmaestro/composer-git-hooks": "^2.7",
75
- "friendsofphp/php-cs-fixer": "^2.16",
76
- "jakub-onderka/php-console-highlighter": "^0.3.2 || ^0.4"
 
 
 
77
  },
78
- "bin": [
79
- "bin/phplint"
80
- ],
81
  "type": "library",
82
  "extra": {
83
- "hooks": {
84
- "pre-commit": [
85
- "composer fix-style"
86
- ],
87
- "pre-push": [
88
- "composer check-style"
89
- ]
90
  }
91
  },
92
  "autoload": {
93
- "psr-4": {
94
- "Overtrue\\PHPLint\\": "src/"
95
  }
96
  },
97
  "notification-url": "https://packagist.org/downloads/",
@@ -100,128 +97,145 @@
100
  ],
101
  "authors": [
102
  {
103
- "name": "overtrue",
104
- "email": "anzhengchao@gmail.com"
 
105
  }
106
  ],
107
- "description": "`phplint` is a tool that can speed up linting of php files by running several lint processes at once.",
 
108
  "keywords": [
109
- "check",
110
- "lint",
111
- "phplint",
112
- "syntax"
 
 
113
  ],
114
  "support": {
115
- "issues": "https://github.com/overtrue/phplint/issues",
116
- "source": "https://github.com/overtrue/phplint/tree/2.4.1"
117
  },
118
- "time": "2021-06-02T16:18:33+00:00"
119
  },
120
  {
121
- "name": "psr/container",
122
- "version": "1.1.1",
123
  "source": {
124
  "type": "git",
125
- "url": "https://github.com/php-fig/container.git",
126
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
127
  },
128
  "dist": {
129
  "type": "zip",
130
- "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
131
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
132
  "shasum": ""
133
  },
134
  "require": {
135
- "php": ">=7.2.0"
 
 
 
136
  },
137
  "type": "library",
138
  "autoload": {
139
- "psr-4": {
140
- "Psr\\Container\\": "src/"
141
  }
142
  },
143
  "notification-url": "https://packagist.org/downloads/",
144
  "license": [
145
- "MIT"
146
  ],
147
  "authors": [
148
  {
149
- "name": "PHP-FIG",
150
- "homepage": "https://www.php-fig.org/"
 
 
 
 
 
 
151
  }
152
  ],
153
- "description": "Common Container Interface (PHP FIG PSR-11)",
154
- "homepage": "https://github.com/php-fig/container",
155
  "keywords": [
156
- "PSR-11",
157
- "container",
158
- "container-interface",
159
- "container-interop",
160
- "psr"
161
  ],
162
  "support": {
163
- "issues": "https://github.com/php-fig/container/issues",
164
- "source": "https://github.com/php-fig/container/tree/1.1.1"
165
  },
166
- "time": "2021-03-05T17:36:06+00:00"
167
  },
168
  {
169
- "name": "symfony/console",
170
- "version": "v5.3.7",
171
  "source": {
172
  "type": "git",
173
- "url": "https://github.com/symfony/console.git",
174
- "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a"
175
  },
176
  "dist": {
177
  "type": "zip",
178
- "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a",
179
- "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a",
180
  "shasum": ""
181
  },
182
  "require": {
183
- "php": ">=7.2.5",
184
- "symfony/deprecation-contracts": "^2.1",
185
- "symfony/polyfill-mbstring": "~1.0",
186
- "symfony/polyfill-php73": "^1.8",
187
- "symfony/polyfill-php80": "^1.16",
188
- "symfony/service-contracts": "^1.1|^2",
189
- "symfony/string": "^5.1"
190
- },
191
- "conflict": {
192
- "psr/log": ">=3",
193
- "symfony/dependency-injection": "<4.4",
194
- "symfony/dotenv": "<5.1",
195
- "symfony/event-dispatcher": "<4.4",
196
- "symfony/lock": "<4.4",
197
- "symfony/process": "<4.4"
198
- },
199
- "provide": {
200
- "psr/log-implementation": "1.0|2.0"
201
  },
202
  "require-dev": {
203
- "psr/log": "^1|^2",
204
- "symfony/config": "^4.4|^5.0",
205
- "symfony/dependency-injection": "^4.4|^5.0",
206
- "symfony/event-dispatcher": "^4.4|^5.0",
207
- "symfony/lock": "^4.4|^5.0",
208
- "symfony/process": "^4.4|^5.0",
209
- "symfony/var-dumper": "^4.4|^5.0"
 
 
 
 
210
  },
211
  "suggest": {
212
- "psr/log": "For using the console logger",
213
- "symfony/event-dispatcher": "",
214
- "symfony/lock": "",
215
- "symfony/process": ""
 
216
  },
 
 
 
217
  "type": "library",
 
 
 
218
  "autoload": {
219
  "psr-4": {
220
- "Symfony\\Component\\Console\\": ""
221
- },
222
- "exclude-from-classmap": [
223
- "/Tests/"
224
- ]
225
  },
226
  "notification-url": "https://packagist.org/downloads/",
227
  "license": [
@@ -229,71 +243,55 @@
229
  ],
230
  "authors": [
231
  {
232
- "name": "Fabien Potencier",
233
- "email": "fabien@symfony.com"
234
- },
235
- {
236
- "name": "Symfony Community",
237
- "homepage": "https://symfony.com/contributors"
238
  }
239
  ],
240
- "description": "Eases the creation of beautiful and testable command line interfaces",
241
- "homepage": "https://symfony.com",
242
  "keywords": [
243
- "cli",
244
- "command line",
245
- "console",
246
- "terminal"
 
247
  ],
248
  "support": {
249
- "source": "https://github.com/symfony/console/tree/v5.3.7"
 
250
  },
251
  "funding": [
252
  {
253
- "url": "https://symfony.com/sponsor",
254
- "type": "custom"
255
- },
256
- {
257
- "url": "https://github.com/fabpot",
258
- "type": "github"
259
- },
260
- {
261
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
262
- "type": "tidelift"
263
  }
264
  ],
265
- "time": "2021-08-25T20:02:16+00:00"
266
  },
267
  {
268
- "name": "symfony/deprecation-contracts",
269
- "version": "v2.4.0",
270
  "source": {
271
  "type": "git",
272
- "url": "https://github.com/symfony/deprecation-contracts.git",
273
- "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
274
  },
275
  "dist": {
276
  "type": "zip",
277
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
278
- "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
279
  "shasum": ""
280
  },
281
  "require": {
282
- "php": ">=7.1"
 
 
283
  },
284
  "type": "library",
285
- "extra": {
286
- "branch-alias": {
287
- "dev-main": "2.4-dev"
288
- },
289
- "thanks": {
290
- "name": "symfony/contracts",
291
- "url": "https://github.com/symfony/contracts"
292
- }
293
- },
294
  "autoload": {
295
- "files": [
296
- "function.php"
297
  ]
298
  },
299
  "notification-url": "https://packagist.org/downloads/",
@@ -302,60 +300,62 @@
302
  ],
303
  "authors": [
304
  {
305
- "name": "Nicolas Grekas",
306
- "email": "p@tchwork.com"
307
- },
308
- {
309
- "name": "Symfony Community",
310
- "homepage": "https://symfony.com/contributors"
311
- }
312
- ],
313
- "description": "A generic function and convention to trigger deprecation notices",
314
- "homepage": "https://symfony.com",
315
- "support": {
316
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
317
- },
318
- "funding": [
319
- {
320
- "url": "https://symfony.com/sponsor",
321
- "type": "custom"
322
  },
323
  {
324
- "url": "https://github.com/fabpot",
325
- "type": "github"
326
  },
327
  {
328
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
329
- "type": "tidelift"
330
  }
331
  ],
332
- "time": "2021-03-23T23:28:01+00:00"
 
 
 
 
 
 
 
 
 
333
  },
334
  {
335
- "name": "symfony/finder",
336
- "version": "v5.3.7",
337
  "source": {
338
  "type": "git",
339
- "url": "https://github.com/symfony/finder.git",
340
- "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93"
341
  },
342
  "dist": {
343
  "type": "zip",
344
- "url": "https://api.github.com/repos/symfony/finder/zipball/a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
345
- "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
346
  "shasum": ""
347
  },
348
  "require": {
349
- "php": ">=7.2.5",
350
- "symfony/polyfill-php80": "^1.16"
 
 
 
 
 
 
 
 
 
 
 
351
  },
352
  "type": "library",
353
  "autoload": {
354
- "psr-4": {
355
- "Symfony\\Component\\Finder\\": ""
356
- },
357
- "exclude-from-classmap": [
358
- "/Tests/"
359
  ]
360
  },
361
  "notification-url": "https://packagist.org/downloads/",
@@ -364,71 +364,51 @@
364
  ],
365
  "authors": [
366
  {
367
- "name": "Fabien Potencier",
368
- "email": "fabien@symfony.com"
 
369
  },
370
  {
371
- "name": "Symfony Community",
372
- "homepage": "https://symfony.com/contributors"
373
  }
374
  ],
375
- "description": "Finds files and directories via an intuitive fluent interface",
376
- "homepage": "https://symfony.com",
 
 
 
377
  "support": {
378
- "source": "https://github.com/symfony/finder/tree/v5.3.7"
 
379
  },
380
- "funding": [
381
- {
382
- "url": "https://symfony.com/sponsor",
383
- "type": "custom"
384
- },
385
- {
386
- "url": "https://github.com/fabpot",
387
- "type": "github"
388
- },
389
- {
390
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
391
- "type": "tidelift"
392
- }
393
- ],
394
- "time": "2021-08-04T21:20:46+00:00"
395
  },
396
  {
397
- "name": "symfony/polyfill-ctype",
398
- "version": "v1.23.0",
399
  "source": {
400
  "type": "git",
401
- "url": "https://github.com/symfony/polyfill-ctype.git",
402
- "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
403
  },
404
  "dist": {
405
  "type": "zip",
406
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
407
- "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
408
  "shasum": ""
409
  },
410
  "require": {
411
- "php": ">=7.1"
 
 
412
  },
413
- "suggest": {
414
- "ext-ctype": "For best performance"
415
  },
416
  "type": "library",
417
- "extra": {
418
- "branch-alias": {
419
- "dev-main": "1.23-dev"
420
- },
421
- "thanks": {
422
- "name": "symfony/polyfill",
423
- "url": "https://github.com/symfony/polyfill"
424
- }
425
- },
426
  "autoload": {
427
- "psr-4": {
428
- "Symfony\\Polyfill\\Ctype\\": ""
429
- },
430
- "files": [
431
- "bootstrap.php"
432
  ]
433
  },
434
  "notification-url": "https://packagist.org/downloads/",
@@ -437,26 +417,7097 @@
437
  ],
438
  "authors": [
439
  {
440
- "name": "Gert de Pagter",
441
- "email": "BackEndTea@gmail.com"
442
  },
443
  {
444
- "name": "Symfony Community",
445
- "homepage": "https://symfony.com/contributors"
 
 
 
446
  }
447
  ],
448
- "description": "Symfony polyfill for ctype functions",
449
- "homepage": "https://symfony.com",
450
  "keywords": [
451
- "compatibility",
452
- "ctype",
453
- "polyfill",
454
- "portable"
455
  ],
456
  "support": {
457
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
 
458
  },
459
- "funding": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
460
  {
461
  "url": "https://symfony.com/sponsor",
462
  "type": "custom"
@@ -470,45 +7521,42 @@
470
  "type": "tidelift"
471
  }
472
  ],
473
- "time": "2021-02-19T12:13:01+00:00"
474
  },
475
  {
476
- "name": "symfony/polyfill-intl-grapheme",
477
- "version": "v1.23.1",
478
  "source": {
479
  "type": "git",
480
- "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
481
- "reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
482
  },
483
  "dist": {
484
  "type": "zip",
485
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
486
- "reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
487
  "shasum": ""
488
  },
489
  "require": {
490
- "php": ">=7.1"
491
  },
492
  "suggest": {
493
- "ext-intl": "For best performance"
494
  },
495
  "type": "library",
496
  "extra": {
497
  "branch-alias": {
498
- "dev-main": "1.23-dev"
499
  },
500
  "thanks": {
501
- "name": "symfony/polyfill",
502
- "url": "https://github.com/symfony/polyfill"
503
  }
504
  },
505
  "autoload": {
506
  "psr-4": {
507
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
508
- },
509
- "files": [
510
- "bootstrap.php"
511
- ]
512
  },
513
  "notification-url": "https://packagist.org/downloads/",
514
  "license": [
@@ -524,18 +7572,18 @@
524
  "homepage": "https://symfony.com/contributors"
525
  }
526
  ],
527
- "description": "Symfony polyfill for intl's grapheme_* functions",
528
  "homepage": "https://symfony.com",
529
  "keywords": [
530
- "compatibility",
531
- "grapheme",
532
- "intl",
533
- "polyfill",
534
- "portable",
535
- "shim"
536
  ],
537
  "support": {
538
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
539
  },
540
  "funding": [
541
  {
@@ -551,47 +7599,46 @@
551
  "type": "tidelift"
552
  }
553
  ],
554
- "time": "2021-05-27T12:26:48+00:00"
555
  },
556
  {
557
- "name": "symfony/polyfill-intl-normalizer",
558
- "version": "v1.23.0",
559
  "source": {
560
  "type": "git",
561
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
562
- "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
563
  },
564
  "dist": {
565
  "type": "zip",
566
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
567
- "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
568
  "shasum": ""
569
  },
570
  "require": {
571
- "php": ">=7.1"
 
 
 
 
 
 
 
 
572
  },
573
  "suggest": {
574
- "ext-intl": "For best performance"
575
  },
 
 
 
576
  "type": "library",
577
- "extra": {
578
- "branch-alias": {
579
- "dev-main": "1.23-dev"
580
- },
581
- "thanks": {
582
- "name": "symfony/polyfill",
583
- "url": "https://github.com/symfony/polyfill"
584
- }
585
- },
586
  "autoload": {
587
  "psr-4": {
588
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
589
  },
590
- "files": [
591
- "bootstrap.php"
592
- ],
593
- "classmap": [
594
- "Resources/stubs"
595
  ]
596
  },
597
  "notification-url": "https://packagist.org/downloads/",
@@ -600,26 +7647,18 @@
600
  ],
601
  "authors": [
602
  {
603
- "name": "Nicolas Grekas",
604
- "email": "p@tchwork.com"
605
  },
606
  {
607
  "name": "Symfony Community",
608
  "homepage": "https://symfony.com/contributors"
609
  }
610
  ],
611
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
612
  "homepage": "https://symfony.com",
613
- "keywords": [
614
- "compatibility",
615
- "intl",
616
- "normalizer",
617
- "polyfill",
618
- "portable",
619
- "shim"
620
- ],
621
  "support": {
622
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
623
  },
624
  "funding": [
625
  {
@@ -635,125 +7674,130 @@
635
  "type": "tidelift"
636
  }
637
  ],
638
- "time": "2021-02-19T12:13:01+00:00"
639
  },
640
  {
641
- "name": "symfony/polyfill-mbstring",
642
- "version": "v1.23.1",
643
  "source": {
644
  "type": "git",
645
- "url": "https://github.com/symfony/polyfill-mbstring.git",
646
- "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
647
  },
648
  "dist": {
649
  "type": "zip",
650
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
651
- "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
652
  "shasum": ""
653
  },
654
  "require": {
655
- "php": ">=7.1"
656
- },
657
- "suggest": {
658
- "ext-mbstring": "For best performance"
659
  },
660
  "type": "library",
661
- "extra": {
662
- "branch-alias": {
663
- "dev-main": "1.23-dev"
664
- },
665
- "thanks": {
666
- "name": "symfony/polyfill",
667
- "url": "https://github.com/symfony/polyfill"
 
 
 
 
 
 
 
668
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
669
  },
 
670
  "autoload": {
671
- "psr-4": {
672
- "Symfony\\Polyfill\\Mbstring\\": ""
673
- },
674
- "files": [
675
- "bootstrap.php"
676
  ]
677
  },
678
  "notification-url": "https://packagist.org/downloads/",
679
  "license": [
680
- "MIT"
681
  ],
682
  "authors": [
683
  {
684
- "name": "Nicolas Grekas",
685
- "email": "p@tchwork.com"
686
- },
687
- {
688
- "name": "Symfony Community",
689
- "homepage": "https://symfony.com/contributors"
690
  }
691
  ],
692
- "description": "Symfony polyfill for the Mbstring extension",
693
- "homepage": "https://symfony.com",
694
- "keywords": [
695
- "compatibility",
696
- "mbstring",
697
- "polyfill",
698
- "portable",
699
- "shim"
700
- ],
701
  "support": {
702
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
 
703
  },
704
  "funding": [
705
  {
706
- "url": "https://symfony.com/sponsor",
707
- "type": "custom"
708
- },
709
- {
710
- "url": "https://github.com/fabpot",
711
  "type": "github"
712
- },
713
- {
714
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
715
- "type": "tidelift"
716
  }
717
  ],
718
- "time": "2021-05-27T12:26:48+00:00"
719
  },
720
  {
721
- "name": "symfony/polyfill-php73",
722
- "version": "v1.23.0",
723
  "source": {
724
  "type": "git",
725
- "url": "https://github.com/symfony/polyfill-php73.git",
726
- "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
727
  },
728
  "dist": {
729
  "type": "zip",
730
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
731
- "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
732
  "shasum": ""
733
  },
734
  "require": {
735
- "php": ">=7.1"
736
  },
737
- "type": "library",
738
- "extra": {
739
- "branch-alias": {
740
- "dev-main": "1.23-dev"
741
- },
742
- "thanks": {
743
- "name": "symfony/polyfill",
744
- "url": "https://github.com/symfony/polyfill"
745
- }
746
  },
 
747
  "autoload": {
748
  "psr-4": {
749
- "Symfony\\Polyfill\\Php73\\": ""
750
- },
751
- "files": [
752
- "bootstrap.php"
753
- ],
754
- "classmap": [
755
- "Resources/stubs"
756
- ]
757
  },
758
  "notification-url": "https://packagist.org/downloads/",
759
  "license": [
@@ -761,78 +7805,133 @@
761
  ],
762
  "authors": [
763
  {
764
- "name": "Nicolas Grekas",
765
- "email": "p@tchwork.com"
766
- },
767
- {
768
- "name": "Symfony Community",
769
- "homepage": "https://symfony.com/contributors"
770
  }
771
  ],
772
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
773
- "homepage": "https://symfony.com",
774
  "keywords": [
775
- "compatibility",
776
- "polyfill",
777
- "portable",
778
- "shim"
779
  ],
780
  "support": {
781
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
 
782
  },
783
  "funding": [
784
  {
785
- "url": "https://symfony.com/sponsor",
786
  "type": "custom"
787
  },
788
  {
789
- "url": "https://github.com/fabpot",
790
  "type": "github"
791
  },
792
  {
793
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
 
 
 
 
 
 
 
 
794
  "type": "tidelift"
795
  }
796
  ],
797
- "time": "2021-02-19T12:13:01+00:00"
798
  },
799
  {
800
- "name": "symfony/polyfill-php80",
801
- "version": "v1.23.1",
802
  "source": {
803
  "type": "git",
804
- "url": "https://github.com/symfony/polyfill-php80.git",
805
- "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
806
  },
807
  "dist": {
808
  "type": "zip",
809
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
810
- "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
811
  "shasum": ""
812
  },
813
  "require": {
814
- "php": ">=7.1"
 
 
 
 
 
 
 
 
815
  },
816
  "type": "library",
817
  "extra": {
818
  "branch-alias": {
819
- "dev-main": "1.23-dev"
820
- },
821
- "thanks": {
822
- "name": "symfony/polyfill",
823
- "url": "https://github.com/symfony/polyfill"
824
  }
825
  },
826
  "autoload": {
827
  "psr-4": {
828
- "Symfony\\Polyfill\\Php80\\": ""
829
- },
830
- "files": [
831
- "bootstrap.php"
832
- ],
833
- "classmap": [
834
- "Resources/stubs"
835
- ]
836
  },
837
  "notification-url": "https://packagist.org/downloads/",
838
  "license": [
@@ -840,70 +7939,66 @@
840
  ],
841
  "authors": [
842
  {
843
- "name": "Ion Bazan",
844
- "email": "ion.bazan@gmail.com"
845
- },
846
- {
847
- "name": "Nicolas Grekas",
848
- "email": "p@tchwork.com"
849
- },
850
- {
851
- "name": "Symfony Community",
852
- "homepage": "https://symfony.com/contributors"
853
  }
854
  ],
855
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
856
- "homepage": "https://symfony.com",
857
  "keywords": [
858
- "compatibility",
859
- "polyfill",
860
- "portable",
861
- "shim"
862
  ],
863
  "support": {
864
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
 
865
  },
866
- "funding": [
867
- {
868
- "url": "https://symfony.com/sponsor",
869
- "type": "custom"
870
- },
871
- {
872
- "url": "https://github.com/fabpot",
873
- "type": "github"
874
- },
875
- {
876
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
877
- "type": "tidelift"
878
- }
879
- ],
880
- "time": "2021-07-28T13:41:28+00:00"
881
  },
882
  {
883
- "name": "symfony/process",
884
- "version": "v5.3.7",
885
  "source": {
886
  "type": "git",
887
- "url": "https://github.com/symfony/process.git",
888
- "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967"
889
  },
890
  "dist": {
891
  "type": "zip",
892
- "url": "https://api.github.com/repos/symfony/process/zipball/38f26c7d6ed535217ea393e05634cb0b244a1967",
893
- "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967",
894
  "shasum": ""
895
  },
896
  "require": {
897
- "php": ">=7.2.5",
898
- "symfony/polyfill-php80": "^1.16"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
899
  },
900
- "type": "library",
901
  "autoload": {
902
  "psr-4": {
903
- "Symfony\\Component\\Process\\": ""
904
  },
905
- "exclude-from-classmap": [
906
- "/Tests/"
907
  ]
908
  },
909
  "notification-url": "https://packagist.org/downloads/",
@@ -912,70 +8007,51 @@
912
  ],
913
  "authors": [
914
  {
915
- "name": "Fabien Potencier",
916
- "email": "fabien@symfony.com"
917
- },
918
- {
919
- "name": "Symfony Community",
920
- "homepage": "https://symfony.com/contributors"
921
  }
922
  ],
923
- "description": "Executes commands in sub-processes",
924
- "homepage": "https://symfony.com",
925
  "support": {
926
- "source": "https://github.com/symfony/process/tree/v5.3.7"
 
927
  },
928
- "funding": [
929
- {
930
- "url": "https://symfony.com/sponsor",
931
- "type": "custom"
932
- },
933
- {
934
- "url": "https://github.com/fabpot",
935
- "type": "github"
936
- },
937
- {
938
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
939
- "type": "tidelift"
940
- }
941
- ],
942
- "time": "2021-08-04T21:20:46+00:00"
943
  },
944
  {
945
- "name": "symfony/service-contracts",
946
- "version": "v2.4.0",
947
  "source": {
948
  "type": "git",
949
- "url": "https://github.com/symfony/service-contracts.git",
950
- "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
951
  },
952
  "dist": {
953
  "type": "zip",
954
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
955
- "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
956
  "shasum": ""
957
  },
958
  "require": {
959
- "php": ">=7.2.5",
960
- "psr/container": "^1.1"
961
  },
962
- "suggest": {
963
- "symfony/service-implementation": ""
964
  },
965
  "type": "library",
966
  "extra": {
967
  "branch-alias": {
968
- "dev-main": "2.4-dev"
969
- },
970
- "thanks": {
971
- "name": "symfony/contracts",
972
- "url": "https://github.com/symfony/contracts"
973
  }
974
  },
975
  "autoload": {
976
  "psr-4": {
977
- "Symfony\\Contracts\\Service\\": ""
978
- }
 
 
 
979
  },
980
  "notification-url": "https://packagist.org/downloads/",
981
  "license": [
@@ -983,81 +8059,41 @@
983
  ],
984
  "authors": [
985
  {
986
- "name": "Nicolas Grekas",
987
- "email": "p@tchwork.com"
988
- },
989
- {
990
- "name": "Symfony Community",
991
- "homepage": "https://symfony.com/contributors"
992
  }
993
  ],
994
- "description": "Generic abstractions related to writing services",
995
- "homepage": "https://symfony.com",
996
- "keywords": [
997
- "abstractions",
998
- "contracts",
999
- "decoupling",
1000
- "interfaces",
1001
- "interoperability",
1002
- "standards"
1003
- ],
1004
  "support": {
1005
- "source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
1006
  },
1007
- "funding": [
1008
- {
1009
- "url": "https://symfony.com/sponsor",
1010
- "type": "custom"
1011
- },
1012
- {
1013
- "url": "https://github.com/fabpot",
1014
- "type": "github"
1015
- },
1016
- {
1017
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1018
- "type": "tidelift"
1019
- }
1020
- ],
1021
- "time": "2021-04-01T10:43:52+00:00"
1022
  },
1023
  {
1024
- "name": "symfony/string",
1025
- "version": "v5.3.7",
1026
  "source": {
1027
  "type": "git",
1028
- "url": "https://github.com/symfony/string.git",
1029
- "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5"
1030
  },
1031
  "dist": {
1032
  "type": "zip",
1033
- "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5",
1034
- "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5",
1035
  "shasum": ""
1036
  },
1037
  "require": {
1038
- "php": ">=7.2.5",
1039
- "symfony/polyfill-ctype": "~1.8",
1040
- "symfony/polyfill-intl-grapheme": "~1.0",
1041
- "symfony/polyfill-intl-normalizer": "~1.0",
1042
- "symfony/polyfill-mbstring": "~1.0",
1043
- "symfony/polyfill-php80": "~1.15"
1044
- },
1045
- "require-dev": {
1046
- "symfony/error-handler": "^4.4|^5.0",
1047
- "symfony/http-client": "^4.4|^5.0",
1048
- "symfony/translation-contracts": "^1.1|^2",
1049
- "symfony/var-exporter": "^4.4|^5.0"
1050
  },
1051
  "type": "library",
1052
  "autoload": {
1053
- "psr-4": {
1054
- "Symfony\\Component\\String\\": ""
1055
  },
1056
  "files": [
1057
- "Resources/functions.php"
1058
- ],
1059
- "exclude-from-classmap": [
1060
- "/Tests/"
1061
  ]
1062
  },
1063
  "notification-url": "https://packagist.org/downloads/",
@@ -1066,117 +8102,154 @@
1066
  ],
1067
  "authors": [
1068
  {
1069
- "name": "Nicolas Grekas",
1070
- "email": "p@tchwork.com"
 
1071
  },
1072
  {
1073
- "name": "Symfony Community",
1074
- "homepage": "https://symfony.com/contributors"
 
1075
  }
1076
  ],
1077
- "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
1078
- "homepage": "https://symfony.com",
1079
  "keywords": [
1080
- "grapheme",
1081
- "i18n",
1082
- "string",
1083
- "unicode",
1084
- "utf-8",
1085
- "utf8"
1086
  ],
1087
  "support": {
1088
- "source": "https://github.com/symfony/string/tree/v5.3.7"
 
1089
  },
1090
- "funding": [
1091
- {
1092
- "url": "https://symfony.com/sponsor",
1093
- "type": "custom"
1094
- },
1095
- {
1096
- "url": "https://github.com/fabpot",
1097
- "type": "github"
1098
- },
1099
- {
1100
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1101
- "type": "tidelift"
1102
- }
1103
- ],
1104
- "time": "2021-08-26T08:00:08+00:00"
1105
  },
1106
  {
1107
- "name": "symfony/yaml",
1108
- "version": "v5.3.6",
1109
  "source": {
1110
  "type": "git",
1111
- "url": "https://github.com/symfony/yaml.git",
1112
- "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7"
1113
  },
1114
  "dist": {
1115
  "type": "zip",
1116
- "url": "https://api.github.com/repos/symfony/yaml/zipball/4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7",
1117
- "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7",
1118
  "shasum": ""
1119
  },
1120
  "require": {
1121
- "php": ">=7.2.5",
1122
- "symfony/deprecation-contracts": "^2.1",
1123
- "symfony/polyfill-ctype": "~1.8"
1124
- },
1125
- "conflict": {
1126
- "symfony/console": "<4.4"
 
1127
  },
1128
  "require-dev": {
1129
- "symfony/console": "^4.4|^5.0"
 
 
 
 
 
1130
  },
1131
  "suggest": {
1132
- "symfony/console": "For validating YAML files using the lint command"
 
1133
  },
1134
  "bin": [
1135
- "Resources/bin/yaml-lint"
 
1136
  ],
1137
  "type": "library",
 
 
 
 
 
1138
  "autoload": {
1139
- "psr-4": {
1140
- "Symfony\\Component\\Yaml\\": ""
1141
  },
1142
- "exclude-from-classmap": [
1143
- "/Tests/"
 
1144
  ]
1145
  },
1146
  "notification-url": "https://packagist.org/downloads/",
1147
  "license": [
1148
  "MIT"
1149
  ],
1150
- "authors": [
1151
- {
1152
- "name": "Fabien Potencier",
1153
- "email": "fabien@symfony.com"
1154
- },
1155
- {
1156
- "name": "Symfony Community",
1157
- "homepage": "https://symfony.com/contributors"
1158
- }
1159
  ],
1160
- "description": "Loads and dumps YAML files",
1161
- "homepage": "https://symfony.com",
1162
  "support": {
1163
- "source": "https://github.com/symfony/yaml/tree/v5.3.6"
 
 
1164
  },
1165
- "funding": [
1166
- {
1167
- "url": "https://symfony.com/sponsor",
1168
- "type": "custom"
1169
- },
1170
- {
1171
- "url": "https://github.com/fabpot",
1172
- "type": "github"
1173
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1174
  {
1175
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1176
- "type": "tidelift"
1177
  }
1178
  ],
1179
- "time": "2021-07-29T06:20:01+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
1180
  }
1181
  ],
1182
  "aliases": [],
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
+ "content-hash": "1f9719013ecdfb6c278cc0c5c976b141",
8
  "packages": [],
9
  "packages-dev": [
10
  {
11
+ "name": "antecedent/patchwork",
12
+ "version": "2.1.17",
13
  "source": {
14
  "type": "git",
15
+ "url": "https://github.com/antecedent/patchwork.git",
16
+ "reference": "df5aba175a44c2996ced4edf8ec9f9081b5348c0"
17
  },
18
  "dist": {
19
  "type": "zip",
20
+ "url": "https://api.github.com/repos/antecedent/patchwork/zipball/df5aba175a44c2996ced4edf8ec9f9081b5348c0",
21
+ "reference": "df5aba175a44c2996ced4edf8ec9f9081b5348c0",
22
  "shasum": ""
23
  },
24
+ "require": {
25
+ "php": ">=5.4.0"
26
+ },
27
  "require-dev": {
28
+ "phpunit/phpunit": ">=4"
29
  },
30
  "type": "library",
 
 
 
 
 
31
  "notification-url": "https://packagist.org/downloads/",
32
  "license": [
33
  "MIT"
34
  ],
35
  "authors": [
36
  {
37
+ "name": "Ignas Rudaitis",
38
+ "email": "ignas.rudaitis@gmail.com"
39
  }
40
  ],
41
+ "description": "Method redefinition (monkey-patching) functionality for PHP.",
42
+ "homepage": "http://patchwork2.org/",
43
+ "keywords": [
44
+ "aop",
45
+ "aspect",
46
+ "interception",
47
+ "monkeypatching",
48
+ "redefinition",
49
+ "runkit",
50
+ "testing"
51
+ ],
52
  "support": {
53
+ "issues": "https://github.com/antecedent/patchwork/issues",
54
+ "source": "https://github.com/antecedent/patchwork/tree/2.1.17"
55
  },
56
+ "time": "2021-10-21T14:22:43+00:00"
57
  },
58
  {
59
+ "name": "behat/gherkin",
60
+ "version": "v4.9.0",
61
  "source": {
62
  "type": "git",
63
+ "url": "https://github.com/Behat/Gherkin.git",
64
+ "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4"
65
  },
66
  "dist": {
67
  "type": "zip",
68
+ "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4",
69
+ "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4",
70
  "shasum": ""
71
  },
72
  "require": {
73
+ "php": "~7.2|~8.0"
 
 
 
 
 
 
74
  },
75
  "require-dev": {
76
+ "cucumber/cucumber": "dev-gherkin-22.0.0",
77
+ "phpunit/phpunit": "~8|~9",
78
+ "symfony/yaml": "~3|~4|~5"
79
+ },
80
+ "suggest": {
81
+ "symfony/yaml": "If you want to parse features, represented in YAML files"
82
  },
 
 
 
83
  "type": "library",
84
  "extra": {
85
+ "branch-alias": {
86
+ "dev-master": "4.x-dev"
 
 
 
 
 
87
  }
88
  },
89
  "autoload": {
90
+ "psr-0": {
91
+ "Behat\\Gherkin": "src/"
92
  }
93
  },
94
  "notification-url": "https://packagist.org/downloads/",
97
  ],
98
  "authors": [
99
  {
100
+ "name": "Konstantin Kudryashov",
101
+ "email": "ever.zet@gmail.com",
102
+ "homepage": "http://everzet.com"
103
  }
104
  ],
105
+ "description": "Gherkin DSL parser for PHP",
106
+ "homepage": "http://behat.org/",
107
  "keywords": [
108
+ "BDD",
109
+ "Behat",
110
+ "Cucumber",
111
+ "DSL",
112
+ "gherkin",
113
+ "parser"
114
  ],
115
  "support": {
116
+ "issues": "https://github.com/Behat/Gherkin/issues",
117
+ "source": "https://github.com/Behat/Gherkin/tree/v4.9.0"
118
  },
119
+ "time": "2021-10-12T13:05:09+00:00"
120
  },
121
  {
122
+ "name": "bordoni/phpass",
123
+ "version": "0.3.5",
124
  "source": {
125
  "type": "git",
126
+ "url": "https://github.com/bordoni/phpass.git",
127
+ "reference": "fd57c109213e95150b7de1dc8908c55605cd8e55"
128
  },
129
  "dist": {
130
  "type": "zip",
131
+ "url": "https://api.github.com/repos/bordoni/phpass/zipball/fd57c109213e95150b7de1dc8908c55605cd8e55",
132
+ "reference": "fd57c109213e95150b7de1dc8908c55605cd8e55",
133
  "shasum": ""
134
  },
135
  "require": {
136
+ "php": ">=5.3.3"
137
+ },
138
+ "replace": {
139
+ "hautelook/phpass": "0.3.*"
140
  },
141
  "type": "library",
142
  "autoload": {
143
+ "psr-0": {
144
+ "Hautelook": "src/"
145
  }
146
  },
147
  "notification-url": "https://packagist.org/downloads/",
148
  "license": [
149
+ "Public Domain"
150
  ],
151
  "authors": [
152
  {
153
+ "name": "Solar Designer",
154
+ "email": "solar@openwall.com",
155
+ "homepage": "http://openwall.com/phpass/"
156
+ },
157
+ {
158
+ "name": "Gustavo Bordoni",
159
+ "email": "gustavo@bordoni.me",
160
+ "homepage": "https://bordoni.me"
161
  }
162
  ],
163
+ "description": "Portable PHP password hashing framework",
164
+ "homepage": "http://github.com/hautelook/phpass/",
165
  "keywords": [
166
+ "blowfish",
167
+ "crypt",
168
+ "password",
169
+ "security"
 
170
  ],
171
  "support": {
172
+ "issues": "https://github.com/bordoni/phpass/issues",
173
+ "source": "https://github.com/bordoni/phpass/tree/0.3.5"
174
  },
175
+ "time": "2012-08-31T00:00:00+00:00"
176
  },
177
  {
178
+ "name": "codeception/codeception",
179
+ "version": "4.1.22",
180
  "source": {
181
  "type": "git",
182
+ "url": "https://github.com/Codeception/Codeception.git",
183
+ "reference": "9777ec3690ceedc4bce2ed13af7af4ca4ee3088f"
184
  },
185
  "dist": {
186
  "type": "zip",
187
+ "url": "https://api.github.com/repos/Codeception/Codeception/zipball/9777ec3690ceedc4bce2ed13af7af4ca4ee3088f",
188
+ "reference": "9777ec3690ceedc4bce2ed13af7af4ca4ee3088f",
189
  "shasum": ""
190
  },
191
  "require": {
192
+ "behat/gherkin": "^4.4.0",
193
+ "codeception/lib-asserts": "^1.0",
194
+ "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0",
195
+ "codeception/stub": "^2.0 | ^3.0",
196
+ "ext-curl": "*",
197
+ "ext-json": "*",
198
+ "ext-mbstring": "*",
199
+ "guzzlehttp/psr7": "^1.4 | ^2.0",
200
+ "php": ">=5.6.0 <9.0",
201
+ "symfony/console": ">=2.7 <6.0",
202
+ "symfony/css-selector": ">=2.7 <6.0",
203
+ "symfony/event-dispatcher": ">=2.7 <6.0",
204
+ "symfony/finder": ">=2.7 <6.0",
205
+ "symfony/yaml": ">=2.7 <6.0"
 
 
 
 
206
  },
207
  "require-dev": {
208
+ "codeception/module-asserts": "1.*@dev",
209
+ "codeception/module-cli": "1.*@dev",
210
+ "codeception/module-db": "1.*@dev",
211
+ "codeception/module-filesystem": "1.*@dev",
212
+ "codeception/module-phpbrowser": "1.*@dev",
213
+ "codeception/specify": "~0.3",
214
+ "codeception/util-universalframework": "*@dev",
215
+ "monolog/monolog": "~1.8",
216
+ "squizlabs/php_codesniffer": "~2.0",
217
+ "symfony/process": ">=2.7 <6.0",
218
+ "vlucas/phpdotenv": "^2.0 | ^3.0 | ^4.0 | ^5.0"
219
  },
220
  "suggest": {
221
+ "codeception/specify": "BDD-style code blocks",
222
+ "codeception/verify": "BDD-style assertions",
223
+ "hoa/console": "For interactive console functionality",
224
+ "stecman/symfony-console-completion": "For BASH autocompletion",
225
+ "symfony/phpunit-bridge": "For phpunit-bridge support"
226
  },
227
+ "bin": [
228
+ "codecept"
229
+ ],
230
  "type": "library",
231
+ "extra": {
232
+ "branch-alias": []
233
+ },
234
  "autoload": {
235
  "psr-4": {
236
+ "Codeception\\": "src/Codeception",
237
+ "Codeception\\Extension\\": "ext"
238
+ }
 
 
239
  },
240
  "notification-url": "https://packagist.org/downloads/",
241
  "license": [
243
  ],
244
  "authors": [
245
  {
246
+ "name": "Michael Bodnarchuk",
247
+ "email": "davert@mail.ua",
248
+ "homepage": "http://codegyre.com"
 
 
 
249
  }
250
  ],
251
+ "description": "BDD-style testing framework",
252
+ "homepage": "http://codeception.com/",
253
  "keywords": [
254
+ "BDD",
255
+ "TDD",
256
+ "acceptance testing",
257
+ "functional testing",
258
+ "unit testing"
259
  ],
260
  "support": {
261
+ "issues": "https://github.com/Codeception/Codeception/issues",
262
+ "source": "https://github.com/Codeception/Codeception/tree/4.1.22"
263
  },
264
  "funding": [
265
  {
266
+ "url": "https://opencollective.com/codeception",
267
+ "type": "open_collective"
 
 
 
 
 
 
 
 
268
  }
269
  ],
270
+ "time": "2021-08-06T17:15:34+00:00"
271
  },
272
  {
273
+ "name": "codeception/lib-asserts",
274
+ "version": "1.13.2",
275
  "source": {
276
  "type": "git",
277
+ "url": "https://github.com/Codeception/lib-asserts.git",
278
+ "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6"
279
  },
280
  "dist": {
281
  "type": "zip",
282
+ "url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/184231d5eab66bc69afd6b9429344d80c67a33b6",
283
+ "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6",
284
  "shasum": ""
285
  },
286
  "require": {
287
+ "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3 | ^9.0",
288
+ "ext-dom": "*",
289
+ "php": ">=5.6.0 <9.0"
290
  },
291
  "type": "library",
 
 
 
 
 
 
 
 
 
292
  "autoload": {
293
+ "classmap": [
294
+ "src/"
295
  ]
296
  },
297
  "notification-url": "https://packagist.org/downloads/",
300
  ],
301
  "authors": [
302
  {
303
+ "name": "Michael Bodnarchuk",
304
+ "email": "davert@mail.ua",
305
+ "homepage": "http://codegyre.com"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
306
  },
307
  {
308
+ "name": "Gintautas Miselis"
 
309
  },
310
  {
311
+ "name": "Gustavo Nieves",
312
+ "homepage": "https://medium.com/@ganieves"
313
  }
314
  ],
315
+ "description": "Assertion methods used by Codeception core and Asserts module",
316
+ "homepage": "https://codeception.com/",
317
+ "keywords": [
318
+ "codeception"
319
+ ],
320
+ "support": {
321
+ "issues": "https://github.com/Codeception/lib-asserts/issues",
322
+ "source": "https://github.com/Codeception/lib-asserts/tree/1.13.2"
323
+ },
324
+ "time": "2020-10-21T16:26:20+00:00"
325
  },
326
  {
327
+ "name": "codeception/lib-innerbrowser",
328
+ "version": "1.5.1",
329
  "source": {
330
  "type": "git",
331
+ "url": "https://github.com/Codeception/lib-innerbrowser.git",
332
+ "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2"
333
  },
334
  "dist": {
335
  "type": "zip",
336
+ "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2",
337
+ "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2",
338
  "shasum": ""
339
  },
340
  "require": {
341
+ "codeception/codeception": "4.*@dev",
342
+ "ext-dom": "*",
343
+ "ext-json": "*",
344
+ "ext-mbstring": "*",
345
+ "php": ">=5.6.0 <9.0",
346
+ "symfony/browser-kit": ">=2.7 <6.0",
347
+ "symfony/dom-crawler": ">=2.7 <6.0"
348
+ },
349
+ "conflict": {
350
+ "codeception/codeception": "<4.0"
351
+ },
352
+ "require-dev": {
353
+ "codeception/util-universalframework": "dev-master"
354
  },
355
  "type": "library",
356
  "autoload": {
357
+ "classmap": [
358
+ "src/"
 
 
 
359
  ]
360
  },
361
  "notification-url": "https://packagist.org/downloads/",
364
  ],
365
  "authors": [
366
  {
367
+ "name": "Michael Bodnarchuk",
368
+ "email": "davert@mail.ua",
369
+ "homepage": "http://codegyre.com"
370
  },
371
  {
372
+ "name": "Gintautas Miselis"
 
373
  }
374
  ],
375
+ "description": "Parent library for all Codeception framework modules and PhpBrowser",
376
+ "homepage": "https://codeception.com/",
377
+ "keywords": [
378
+ "codeception"
379
+ ],
380
  "support": {
381
+ "issues": "https://github.com/Codeception/lib-innerbrowser/issues",
382
+ "source": "https://github.com/Codeception/lib-innerbrowser/tree/1.5.1"
383
  },
384
+ "time": "2021-08-30T15:21:42+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  },
386
  {
387
+ "name": "codeception/module-asserts",
388
+ "version": "1.3.1",
389
  "source": {
390
  "type": "git",
391
+ "url": "https://github.com/Codeception/module-asserts.git",
392
+ "reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de"
393
  },
394
  "dist": {
395
  "type": "zip",
396
+ "url": "https://api.github.com/repos/Codeception/module-asserts/zipball/59374f2fef0cabb9e8ddb53277e85cdca74328de",
397
+ "reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de",
398
  "shasum": ""
399
  },
400
  "require": {
401
+ "codeception/codeception": "*@dev",
402
+ "codeception/lib-asserts": "^1.13.1",
403
+ "php": ">=5.6.0 <9.0"
404
  },
405
+ "conflict": {
406
+ "codeception/codeception": "<4.0"
407
  },
408
  "type": "library",
 
 
 
 
 
 
 
 
 
409
  "autoload": {
410
+ "classmap": [
411
+ "src/"
 
 
 
412
  ]
413
  },
414
  "notification-url": "https://packagist.org/downloads/",
417
  ],
418
  "authors": [
419
  {
420
+ "name": "Michael Bodnarchuk"
 
421
  },
422
  {
423
+ "name": "Gintautas Miselis"
424
+ },
425
+ {
426
+ "name": "Gustavo Nieves",
427
+ "homepage": "https://medium.com/@ganieves"
428
  }
429
  ],
430
+ "description": "Codeception module containing various assertions",
431
+ "homepage": "https://codeception.com/",
432
  "keywords": [
433
+ "assertions",
434
+ "asserts",
435
+ "codeception"
 
436
  ],
437
  "support": {
438
+ "issues": "https://github.com/Codeception/module-asserts/issues",
439
+ "source": "https://github.com/Codeception/module-asserts/tree/1.3.1"
440
  },
441
+ "time": "2020-10-21T16:48:15+00:00"
442
+ },
443
+ {
444
+ "name": "codeception/module-cli",
445
+ "version": "1.1.1",
446
+ "source": {
447
+ "type": "git",
448
+ "url": "https://github.com/Codeception/module-cli.git",
449
+ "reference": "1f841ad4a1d43e5d9e60a43c4cc9e5af8008024f"
450
+ },
451
+ "dist": {
452
+ "type": "zip",
453
+ "url": "https://api.github.com/repos/Codeception/module-cli/zipball/1f841ad4a1d43e5d9e60a43c4cc9e5af8008024f",
454
+ "reference": "1f841ad4a1d43e5d9e60a43c4cc9e5af8008024f",
455
+ "shasum": ""
456
+ },
457
+ "require": {
458
+ "codeception/codeception": "*@dev",
459
+ "php": ">=5.6.0 <9.0"
460
+ },
461
+ "conflict": {
462
+ "codeception/codeception": "<4.0"
463
+ },
464
+ "type": "library",
465
+ "autoload": {
466
+ "classmap": [
467
+ "src/"
468
+ ]
469
+ },
470
+ "notification-url": "https://packagist.org/downloads/",
471
+ "license": [
472
+ "MIT"
473
+ ],
474
+ "authors": [
475
+ {
476
+ "name": "Michael Bodnarchuk"
477
+ }
478
+ ],
479
+ "description": "Codeception module for testing basic shell commands and shell output",
480
+ "homepage": "http://codeception.com/",
481
+ "keywords": [
482
+ "codeception"
483
+ ],
484
+ "support": {
485
+ "issues": "https://github.com/Codeception/module-cli/issues",
486
+ "source": "https://github.com/Codeception/module-cli/tree/1.1.1"
487
+ },
488
+ "time": "2020-12-26T16:56:19+00:00"
489
+ },
490
+ {
491
+ "name": "codeception/module-db",
492
+ "version": "1.1.0",
493
+ "source": {
494
+ "type": "git",
495
+ "url": "https://github.com/Codeception/module-db.git",
496
+ "reference": "8c8076cd05d4db95798acd7dba2a56578210982c"
497
+ },
498
+ "dist": {
499
+ "type": "zip",
500
+ "url": "https://api.github.com/repos/Codeception/module-db/zipball/8c8076cd05d4db95798acd7dba2a56578210982c",
501
+ "reference": "8c8076cd05d4db95798acd7dba2a56578210982c",
502
+ "shasum": ""
503
+ },
504
+ "require": {
505
+ "codeception/codeception": "*@dev",
506
+ "php": ">=5.6.0 <9.0"
507
+ },
508
+ "conflict": {
509
+ "codeception/codeception": "<4.0"
510
+ },
511
+ "type": "library",
512
+ "autoload": {
513
+ "classmap": [
514
+ "src/"
515
+ ]
516
+ },
517
+ "notification-url": "https://packagist.org/downloads/",
518
+ "license": [
519
+ "MIT"
520
+ ],
521
+ "authors": [
522
+ {
523
+ "name": "Michael Bodnarchuk"
524
+ },
525
+ {
526
+ "name": "Gintautas Miselis"
527
+ }
528
+ ],
529
+ "description": "DB module for Codeception",
530
+ "homepage": "http://codeception.com/",
531
+ "keywords": [
532
+ "codeception",
533
+ "database-testing",
534
+ "db-testing"
535
+ ],
536
+ "support": {
537
+ "issues": "https://github.com/Codeception/module-db/issues",
538
+ "source": "https://github.com/Codeception/module-db/tree/1.1.0"
539
+ },
540
+ "time": "2020-12-20T13:37:07+00:00"
541
+ },
542
+ {
543
+ "name": "codeception/module-filesystem",
544
+ "version": "1.0.3",
545
+ "source": {
546
+ "type": "git",
547
+ "url": "https://github.com/Codeception/module-filesystem.git",
548
+ "reference": "781be167fb1557bfc9b61e0a4eac60a32c534ec1"
549
+ },
550
+ "dist": {
551
+ "type": "zip",
552
+ "url": "https://api.github.com/repos/Codeception/module-filesystem/zipball/781be167fb1557bfc9b61e0a4eac60a32c534ec1",
553
+ "reference": "781be167fb1557bfc9b61e0a4eac60a32c534ec1",
554
+ "shasum": ""
555
+ },
556
+ "require": {
557
+ "codeception/codeception": "^4.0",
558
+ "php": ">=5.6.0 <9.0",
559
+ "symfony/finder": ">=2.7 <6.0"
560
+ },
561
+ "conflict": {
562
+ "codeception/codeception": "<4.0"
563
+ },
564
+ "type": "library",
565
+ "autoload": {
566
+ "classmap": [
567
+ "src/"
568
+ ]
569
+ },
570
+ "notification-url": "https://packagist.org/downloads/",
571
+ "license": [
572
+ "MIT"
573
+ ],
574
+ "authors": [
575
+ {
576
+ "name": "Michael Bodnarchuk"
577
+ },
578
+ {
579
+ "name": "Gintautas Miselis"
580
+ }
581
+ ],
582
+ "description": "Codeception module for testing local filesystem",
583
+ "homepage": "http://codeception.com/",
584
+ "keywords": [
585
+ "codeception",
586
+ "filesystem"
587
+ ],
588
+ "support": {
589
+ "issues": "https://github.com/Codeception/module-filesystem/issues",
590
+ "source": "https://github.com/Codeception/module-filesystem/tree/1.0.3"
591
+ },
592
+ "time": "2020-10-24T14:46:40+00:00"
593
+ },
594
+ {
595
+ "name": "codeception/module-phpbrowser",
596
+ "version": "1.0.2",
597
+ "source": {
598
+ "type": "git",
599
+ "url": "https://github.com/Codeception/module-phpbrowser.git",
600
+ "reference": "770a6be4160a5c0c08d100dd51bff35f6056bbf1"
601
+ },
602
+ "dist": {
603
+ "type": "zip",
604
+ "url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/770a6be4160a5c0c08d100dd51bff35f6056bbf1",
605
+ "reference": "770a6be4160a5c0c08d100dd51bff35f6056bbf1",
606
+ "shasum": ""
607
+ },
608
+ "require": {
609
+ "codeception/codeception": "^4.0",
610
+ "codeception/lib-innerbrowser": "^1.3",
611
+ "guzzlehttp/guzzle": "^6.3|^7.0",
612
+ "php": ">=5.6.0 <9.0"
613
+ },
614
+ "conflict": {
615
+ "codeception/codeception": "<4.0"
616
+ },
617
+ "require-dev": {
618
+ "codeception/module-rest": "^1.0"
619
+ },
620
+ "suggest": {
621
+ "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
622
+ },
623
+ "type": "library",
624
+ "autoload": {
625
+ "classmap": [
626
+ "src/"
627
+ ]
628
+ },
629
+ "notification-url": "https://packagist.org/downloads/",
630
+ "license": [
631
+ "MIT"
632
+ ],
633
+ "authors": [
634
+ {
635
+ "name": "Michael Bodnarchuk"
636
+ },
637
+ {
638
+ "name": "Gintautas Miselis"
639
+ }
640
+ ],
641
+ "description": "Codeception module for testing web application over HTTP",
642
+ "homepage": "http://codeception.com/",
643
+ "keywords": [
644
+ "codeception",
645
+ "functional-testing",
646
+ "http"
647
+ ],
648
+ "support": {
649
+ "issues": "https://github.com/Codeception/module-phpbrowser/issues",
650
+ "source": "https://github.com/Codeception/module-phpbrowser/tree/1.0.2"
651
+ },
652
+ "time": "2020-10-24T15:29:28+00:00"
653
+ },
654
+ {
655
+ "name": "codeception/module-rest",
656
+ "version": "1.4.2",
657
+ "source": {
658
+ "type": "git",
659
+ "url": "https://github.com/Codeception/module-rest.git",
660
+ "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917"
661
+ },
662
+ "dist": {
663
+ "type": "zip",
664
+ "url": "https://api.github.com/repos/Codeception/module-rest/zipball/9cd7a87fd9343494e7782f7bdb51687c25046917",
665
+ "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917",
666
+ "shasum": ""
667
+ },
668
+ "require": {
669
+ "codeception/codeception": "^4.0",
670
+ "justinrainbow/json-schema": "~5.2.9",
671
+ "php": ">=5.6.6 <9.0",
672
+ "softcreatr/jsonpath": "^0.5 || ^0.7"
673
+ },
674
+ "require-dev": {
675
+ "codeception/lib-innerbrowser": "^1.0",
676
+ "codeception/util-universalframework": "^1.0"
677
+ },
678
+ "suggest": {
679
+ "aws/aws-sdk-php": "For using AWS Auth"
680
+ },
681
+ "type": "library",
682
+ "autoload": {
683
+ "classmap": [
684
+ "src/"
685
+ ]
686
+ },
687
+ "notification-url": "https://packagist.org/downloads/",
688
+ "license": [
689
+ "MIT"
690
+ ],
691
+ "authors": [
692
+ {
693
+ "name": "Gintautas Miselis"
694
+ }
695
+ ],
696
+ "description": "REST module for Codeception",
697
+ "homepage": "http://codeception.com/",
698
+ "keywords": [
699
+ "codeception",
700
+ "rest"
701
+ ],
702
+ "support": {
703
+ "issues": "https://github.com/Codeception/module-rest/issues",
704
+ "source": "https://github.com/Codeception/module-rest/tree/1.4.2"
705
+ },
706
+ "time": "2021-11-18T18:58:15+00:00"
707
+ },
708
+ {
709
+ "name": "codeception/module-webdriver",
710
+ "version": "1.4.0",
711
+ "source": {
712
+ "type": "git",
713
+ "url": "https://github.com/Codeception/module-webdriver.git",
714
+ "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151"
715
+ },
716
+ "dist": {
717
+ "type": "zip",
718
+ "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/baa18b7bf70aa024012f967b5ce5021e1faa9151",
719
+ "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151",
720
+ "shasum": ""
721
+ },
722
+ "require": {
723
+ "codeception/codeception": "^4.0",
724
+ "php": ">=5.6.0 <9.0",
725
+ "php-webdriver/webdriver": "^1.8.0"
726
+ },
727
+ "suggest": {
728
+ "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
729
+ },
730
+ "type": "library",
731
+ "autoload": {
732
+ "classmap": [
733
+ "src/"
734
+ ]
735
+ },
736
+ "notification-url": "https://packagist.org/downloads/",
737
+ "license": [
738
+ "MIT"
739
+ ],
740
+ "authors": [
741
+ {
742
+ "name": "Michael Bodnarchuk"
743
+ },
744
+ {
745
+ "name": "Gintautas Miselis"
746
+ },
747
+ {
748
+ "name": "Zaahid Bateson"
749
+ }
750
+ ],
751
+ "description": "WebDriver module for Codeception",
752
+ "homepage": "http://codeception.com/",
753
+ "keywords": [
754
+ "acceptance-testing",
755
+ "browser-testing",
756
+ "codeception"
757
+ ],
758
+ "support": {
759
+ "issues": "https://github.com/Codeception/module-webdriver/issues",
760
+ "source": "https://github.com/Codeception/module-webdriver/tree/1.4.0"
761
+ },
762
+ "time": "2021-09-02T12:01:02+00:00"
763
+ },
764
+ {
765
+ "name": "codeception/phpunit-wrapper",
766
+ "version": "9.0.6",
767
+ "source": {
768
+ "type": "git",
769
+ "url": "https://github.com/Codeception/phpunit-wrapper.git",
770
+ "reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc"
771
+ },
772
+ "dist": {
773
+ "type": "zip",
774
+ "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/b0c06abb3181eedca690170f7ed0fd26a70bfacc",
775
+ "reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc",
776
+ "shasum": ""
777
+ },
778
+ "require": {
779
+ "php": ">=7.2",
780
+ "phpunit/phpunit": "^9.0"
781
+ },
782
+ "require-dev": {
783
+ "codeception/specify": "*",
784
+ "consolidation/robo": "^3.0.0-alpha3",
785
+ "vlucas/phpdotenv": "^3.0"
786
+ },
787
+ "type": "library",
788
+ "autoload": {
789
+ "psr-4": {
790
+ "Codeception\\PHPUnit\\": "src/"
791
+ }
792
+ },
793
+ "notification-url": "https://packagist.org/downloads/",
794
+ "license": [
795
+ "MIT"
796
+ ],
797
+ "authors": [
798
+ {
799
+ "name": "Davert",
800
+ "email": "davert.php@resend.cc"
801
+ },
802
+ {
803
+ "name": "Naktibalda"
804
+ }
805
+ ],
806
+ "description": "PHPUnit classes used by Codeception",
807
+ "support": {
808
+ "issues": "https://github.com/Codeception/phpunit-wrapper/issues",
809
+ "source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.6"
810
+ },
811
+ "time": "2020-12-28T13:59:47+00:00"
812
+ },
813
+ {
814
+ "name": "codeception/stub",
815
+ "version": "3.7.0",
816
+ "source": {
817
+ "type": "git",
818
+ "url": "https://github.com/Codeception/Stub.git",
819
+ "reference": "468dd5fe659f131fc997f5196aad87512f9b1304"
820
+ },
821
+ "dist": {
822
+ "type": "zip",
823
+ "url": "https://api.github.com/repos/Codeception/Stub/zipball/468dd5fe659f131fc997f5196aad87512f9b1304",
824
+ "reference": "468dd5fe659f131fc997f5196aad87512f9b1304",
825
+ "shasum": ""
826
+ },
827
+ "require": {
828
+ "phpunit/phpunit": "^8.4 | ^9.0"
829
+ },
830
+ "type": "library",
831
+ "autoload": {
832
+ "psr-4": {
833
+ "Codeception\\": "src/"
834
+ }
835
+ },
836
+ "notification-url": "https://packagist.org/downloads/",
837
+ "license": [
838
+ "MIT"
839
+ ],
840
+ "description": "Flexible Stub wrapper for PHPUnit's Mock Builder",
841
+ "support": {
842
+ "issues": "https://github.com/Codeception/Stub/issues",
843
+ "source": "https://github.com/Codeception/Stub/tree/3.7.0"
844
+ },
845
+ "time": "2020-07-03T15:54:43+00:00"
846
+ },
847
+ {
848
+ "name": "codeception/util-universalframework",
849
+ "version": "1.0.0",
850
+ "source": {
851
+ "type": "git",
852
+ "url": "https://github.com/Codeception/util-universalframework.git",
853
+ "reference": "cc381f364c6d24f9b9c7b70a4c724949725f491a"
854
+ },
855
+ "dist": {
856
+ "type": "zip",
857
+ "url": "https://api.github.com/repos/Codeception/util-universalframework/zipball/cc381f364c6d24f9b9c7b70a4c724949725f491a",
858
+ "reference": "cc381f364c6d24f9b9c7b70a4c724949725f491a",
859
+ "shasum": ""
860
+ },
861
+ "type": "library",
862
+ "autoload": {
863
+ "classmap": [
864
+ "src/"
865
+ ]
866
+ },
867
+ "notification-url": "https://packagist.org/downloads/",
868
+ "license": [
869
+ "MIT"
870
+ ],
871
+ "authors": [
872
+ {
873
+ "name": "Gintautas Miselis"
874
+ }
875
+ ],
876
+ "description": "Mock framework module used in internal Codeception tests",
877
+ "homepage": "http://codeception.com/",
878
+ "support": {
879
+ "issues": "https://github.com/Codeception/util-universalframework/issues",
880
+ "source": "https://github.com/Codeception/util-universalframework/tree/1.0.0"
881
+ },
882
+ "time": "2019-09-22T06:06:49+00:00"
883
+ },
884
+ {
885
+ "name": "composer/semver",
886
+ "version": "3.2.6",
887
+ "source": {
888
+ "type": "git",
889
+ "url": "https://github.com/composer/semver.git",
890
+ "reference": "83e511e247de329283478496f7a1e114c9517506"
891
+ },
892
+ "dist": {
893
+ "type": "zip",
894
+ "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
895
+ "reference": "83e511e247de329283478496f7a1e114c9517506",
896
+ "shasum": ""
897
+ },
898
+ "require": {
899
+ "php": "^5.3.2 || ^7.0 || ^8.0"
900
+ },
901
+ "require-dev": {
902
+ "phpstan/phpstan": "^0.12.54",
903
+ "symfony/phpunit-bridge": "^4.2 || ^5"
904
+ },
905
+ "type": "library",
906
+ "extra": {
907
+ "branch-alias": {
908
+ "dev-main": "3.x-dev"
909
+ }
910
+ },
911
+ "autoload": {
912
+ "psr-4": {
913
+ "Composer\\Semver\\": "src"
914
+ }
915
+ },
916
+ "notification-url": "https://packagist.org/downloads/",
917
+ "license": [
918
+ "MIT"
919
+ ],
920
+ "authors": [
921
+ {
922
+ "name": "Nils Adermann",
923
+ "email": "naderman@naderman.de",
924
+ "homepage": "http://www.naderman.de"
925
+ },
926
+ {
927
+ "name": "Jordi Boggiano",
928
+ "email": "j.boggiano@seld.be",
929
+ "homepage": "http://seld.be"
930
+ },
931
+ {
932
+ "name": "Rob Bast",
933
+ "email": "rob.bast@gmail.com",
934
+ "homepage": "http://robbast.nl"
935
+ }
936
+ ],
937
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
938
+ "keywords": [
939
+ "semantic",
940
+ "semver",
941
+ "validation",
942
+ "versioning"
943
+ ],
944
+ "support": {
945
+ "irc": "irc://irc.freenode.org/composer",
946
+ "issues": "https://github.com/composer/semver/issues",
947
+ "source": "https://github.com/composer/semver/tree/3.2.6"
948
+ },
949
+ "funding": [
950
+ {
951
+ "url": "https://packagist.com",
952
+ "type": "custom"
953
+ },
954
+ {
955
+ "url": "https://github.com/composer",
956
+ "type": "github"
957
+ },
958
+ {
959
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
960
+ "type": "tidelift"
961
+ }
962
+ ],
963
+ "time": "2021-10-25T11:34:17+00:00"
964
+ },
965
+ {
966
+ "name": "composer/xdebug-handler",
967
+ "version": "2.0.2",
968
+ "source": {
969
+ "type": "git",
970
+ "url": "https://github.com/composer/xdebug-handler.git",
971
+ "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339"
972
+ },
973
+ "dist": {
974
+ "type": "zip",
975
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339",
976
+ "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339",
977
+ "shasum": ""
978
+ },
979
+ "require": {
980
+ "php": "^5.3.2 || ^7.0 || ^8.0",
981
+ "psr/log": "^1 || ^2 || ^3"
982
+ },
983
+ "require-dev": {
984
+ "phpstan/phpstan": "^0.12.55",
985
+ "symfony/phpunit-bridge": "^4.2 || ^5"
986
+ },
987
+ "type": "library",
988
+ "autoload": {
989
+ "psr-4": {
990
+ "Composer\\XdebugHandler\\": "src"
991
+ }
992
+ },
993
+ "notification-url": "https://packagist.org/downloads/",
994
+ "license": [
995
+ "MIT"
996
+ ],
997
+ "authors": [
998
+ {
999
+ "name": "John Stevenson",
1000
+ "email": "john-stevenson@blueyonder.co.uk"
1001
+ }
1002
+ ],
1003
+ "description": "Restarts a process without Xdebug.",
1004
+ "keywords": [
1005
+ "Xdebug",
1006
+ "performance"
1007
+ ],
1008
+ "support": {
1009
+ "irc": "irc://irc.freenode.org/composer",
1010
+ "issues": "https://github.com/composer/xdebug-handler/issues",
1011
+ "source": "https://github.com/composer/xdebug-handler/tree/2.0.2"
1012
+ },
1013
+ "funding": [
1014
+ {
1015
+ "url": "https://packagist.com",
1016
+ "type": "custom"
1017
+ },
1018
+ {
1019
+ "url": "https://github.com/composer",
1020
+ "type": "github"
1021
+ },
1022
+ {
1023
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
1024
+ "type": "tidelift"
1025
+ }
1026
+ ],
1027
+ "time": "2021-07-31T17:03:58+00:00"
1028
+ },
1029
+ {
1030
+ "name": "consolidation/annotated-command",
1031
+ "version": "4.4.0",
1032
+ "source": {
1033
+ "type": "git",
1034
+ "url": "https://github.com/consolidation/annotated-command.git",
1035
+ "reference": "308f6ac178566a1ce9aa90ed908dac90a2c1e707"
1036
+ },
1037
+ "dist": {
1038
+ "type": "zip",
1039
+ "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/308f6ac178566a1ce9aa90ed908dac90a2c1e707",
1040
+ "reference": "308f6ac178566a1ce9aa90ed908dac90a2c1e707",
1041
+ "shasum": ""
1042
+ },
1043
+ "require": {
1044
+ "consolidation/output-formatters": "^4.1.1",
1045
+ "php": ">=7.1.3",
1046
+ "psr/log": "^1|^2",
1047
+ "symfony/console": "^4.4.8|~5.1.0",
1048
+ "symfony/event-dispatcher": "^4.4.8|^5",
1049
+ "symfony/finder": "^4.4.8|^5"
1050
+ },
1051
+ "require-dev": {
1052
+ "phpunit/phpunit": "^7.5.20 || ^8 || ^9",
1053
+ "squizlabs/php_codesniffer": "^3",
1054
+ "yoast/phpunit-polyfills": "^0.2.0"
1055
+ },
1056
+ "type": "library",
1057
+ "extra": {
1058
+ "branch-alias": {
1059
+ "dev-main": "4.x-dev"
1060
+ }
1061
+ },
1062
+ "autoload": {
1063
+ "psr-4": {
1064
+ "Consolidation\\AnnotatedCommand\\": "src"
1065
+ }
1066
+ },
1067
+ "notification-url": "https://packagist.org/downloads/",
1068
+ "license": [
1069
+ "MIT"
1070
+ ],
1071
+ "authors": [
1072
+ {
1073
+ "name": "Greg Anderson",
1074
+ "email": "greg.1.anderson@greenknowe.org"
1075
+ }
1076
+ ],
1077
+ "description": "Initialize Symfony Console commands from annotated command class methods.",
1078
+ "support": {
1079
+ "issues": "https://github.com/consolidation/annotated-command/issues",
1080
+ "source": "https://github.com/consolidation/annotated-command/tree/4.4.0"
1081
+ },
1082
+ "time": "2021-09-30T01:08:15+00:00"
1083
+ },
1084
+ {
1085
+ "name": "consolidation/config",
1086
+ "version": "2.0.1",
1087
+ "source": {
1088
+ "type": "git",
1089
+ "url": "https://github.com/consolidation/config.git",
1090
+ "reference": "9a2c2a7b2aea1b3525984a4378743a8b74c14e1c"
1091
+ },
1092
+ "dist": {
1093
+ "type": "zip",
1094
+ "url": "https://api.github.com/repos/consolidation/config/zipball/9a2c2a7b2aea1b3525984a4378743a8b74c14e1c",
1095
+ "reference": "9a2c2a7b2aea1b3525984a4378743a8b74c14e1c",
1096
+ "shasum": ""
1097
+ },
1098
+ "require": {
1099
+ "dflydev/dot-access-data": "^1.1.0",
1100
+ "grasmash/expander": "^1",
1101
+ "php": ">=7.1.3",
1102
+ "psr/log": "^1.1",
1103
+ "symfony/event-dispatcher": "^4||^5"
1104
+ },
1105
+ "require-dev": {
1106
+ "phpunit/phpunit": ">=7.5.20",
1107
+ "squizlabs/php_codesniffer": "^3",
1108
+ "symfony/console": "^4||^5",
1109
+ "symfony/yaml": "^4||^5",
1110
+ "yoast/phpunit-polyfills": "^0.2.0"
1111
+ },
1112
+ "suggest": {
1113
+ "symfony/event-dispatcher": "Required to inject configuration into Command options",
1114
+ "symfony/yaml": "Required to use Consolidation\\Config\\Loader\\YamlConfigLoader"
1115
+ },
1116
+ "type": "library",
1117
+ "extra": {
1118
+ "branch-alias": {
1119
+ "dev-main": "2.x-dev"
1120
+ }
1121
+ },
1122
+ "autoload": {
1123
+ "psr-4": {
1124
+ "Consolidation\\Config\\": "src"
1125
+ }
1126
+ },
1127
+ "notification-url": "https://packagist.org/downloads/",
1128
+ "license": [
1129
+ "MIT"
1130
+ ],
1131
+ "authors": [
1132
+ {
1133
+ "name": "Greg Anderson",
1134
+ "email": "greg.1.anderson@greenknowe.org"
1135
+ }
1136
+ ],
1137
+ "description": "Provide configuration services for a commandline tool.",
1138
+ "support": {
1139
+ "issues": "https://github.com/consolidation/config/issues",
1140
+ "source": "https://github.com/consolidation/config/tree/2.0.1"
1141
+ },
1142
+ "time": "2020-12-06T00:03:30+00:00"
1143
+ },
1144
+ {
1145
+ "name": "consolidation/log",
1146
+ "version": "2.0.2",
1147
+ "source": {
1148
+ "type": "git",
1149
+ "url": "https://github.com/consolidation/log.git",
1150
+ "reference": "82a2aaaa621a7b976e50a745a8d249d5085ee2b1"
1151
+ },
1152
+ "dist": {
1153
+ "type": "zip",
1154
+ "url": "https://api.github.com/repos/consolidation/log/zipball/82a2aaaa621a7b976e50a745a8d249d5085ee2b1",
1155
+ "reference": "82a2aaaa621a7b976e50a745a8d249d5085ee2b1",
1156
+ "shasum": ""
1157
+ },
1158
+ "require": {
1159
+ "php": ">=7.1.3",
1160
+ "psr/log": "^1.0",
1161
+ "symfony/console": "^4|^5"
1162
+ },
1163
+ "require-dev": {
1164
+ "phpunit/phpunit": ">=7.5.20",
1165
+ "squizlabs/php_codesniffer": "^3",
1166
+ "yoast/phpunit-polyfills": "^0.2.0"
1167
+ },
1168
+ "type": "library",
1169
+ "extra": {
1170
+ "branch-alias": {
1171
+ "dev-main": "2.x-dev"
1172
+ }
1173
+ },
1174
+ "autoload": {
1175
+ "psr-4": {
1176
+ "Consolidation\\Log\\": "src"
1177
+ }
1178
+ },
1179
+ "notification-url": "https://packagist.org/downloads/",
1180
+ "license": [
1181
+ "MIT"
1182
+ ],
1183
+ "authors": [
1184
+ {
1185
+ "name": "Greg Anderson",
1186
+ "email": "greg.1.anderson@greenknowe.org"
1187
+ }
1188
+ ],
1189
+ "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.",
1190
+ "support": {
1191
+ "issues": "https://github.com/consolidation/log/issues",
1192
+ "source": "https://github.com/consolidation/log/tree/2.0.2"
1193
+ },
1194
+ "time": "2020-12-10T16:26:23+00:00"
1195
+ },
1196
+ {
1197
+ "name": "consolidation/output-formatters",
1198
+ "version": "4.1.2",
1199
+ "source": {
1200
+ "type": "git",
1201
+ "url": "https://github.com/consolidation/output-formatters.git",
1202
+ "reference": "5821e6ae076bf690058a4de6c94dce97398a69c9"
1203
+ },
1204
+ "dist": {
1205
+ "type": "zip",
1206
+ "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/5821e6ae076bf690058a4de6c94dce97398a69c9",
1207
+ "reference": "5821e6ae076bf690058a4de6c94dce97398a69c9",
1208
+ "shasum": ""
1209
+ },
1210
+ "require": {
1211
+ "dflydev/dot-access-data": "^1.1.0",
1212
+ "php": ">=7.1.3",
1213
+ "symfony/console": "^4|^5",
1214
+ "symfony/finder": "^4|^5"
1215
+ },
1216
+ "require-dev": {
1217
+ "php-coveralls/php-coveralls": "^2.4.2",
1218
+ "phpunit/phpunit": ">=7",
1219
+ "squizlabs/php_codesniffer": "^3",
1220
+ "symfony/var-dumper": "^4",
1221
+ "symfony/yaml": "^4",
1222
+ "yoast/phpunit-polyfills": "^0.2.0"
1223
+ },
1224
+ "suggest": {
1225
+ "symfony/var-dumper": "For using the var_dump formatter"
1226
+ },
1227
+ "type": "library",
1228
+ "extra": {
1229
+ "branch-alias": {
1230
+ "dev-main": "4.x-dev"
1231
+ }
1232
+ },
1233
+ "autoload": {
1234
+ "psr-4": {
1235
+ "Consolidation\\OutputFormatters\\": "src"
1236
+ }
1237
+ },
1238
+ "notification-url": "https://packagist.org/downloads/",
1239
+ "license": [
1240
+ "MIT"
1241
+ ],
1242
+ "authors": [
1243
+ {
1244
+ "name": "Greg Anderson",
1245
+ "email": "greg.1.anderson@greenknowe.org"
1246
+ }
1247
+ ],
1248
+ "description": "Format text by applying transformations provided by plug-in formatters.",
1249
+ "support": {
1250
+ "issues": "https://github.com/consolidation/output-formatters/issues",
1251
+ "source": "https://github.com/consolidation/output-formatters/tree/4.1.2"
1252
+ },
1253
+ "time": "2020-12-12T19:04:59+00:00"
1254
+ },
1255
+ {
1256
+ "name": "consolidation/robo",
1257
+ "version": "3.0.6",
1258
+ "source": {
1259
+ "type": "git",
1260
+ "url": "https://github.com/consolidation/Robo.git",
1261
+ "reference": "36dce2965a67abe5cf91f2bc36d2582a64a11258"
1262
+ },
1263
+ "dist": {
1264
+ "type": "zip",
1265
+ "url": "https://api.github.com/repos/consolidation/Robo/zipball/36dce2965a67abe5cf91f2bc36d2582a64a11258",
1266
+ "reference": "36dce2965a67abe5cf91f2bc36d2582a64a11258",
1267
+ "shasum": ""
1268
+ },
1269
+ "require": {
1270
+ "consolidation/annotated-command": "^4.3",
1271
+ "consolidation/config": "^1.2.1|^2.0.1",
1272
+ "consolidation/log": "^1.1.1|^2.0.2",
1273
+ "consolidation/output-formatters": "^4.1.2",
1274
+ "consolidation/self-update": "^2.0",
1275
+ "league/container": "^3.3.1",
1276
+ "php": ">=7.1.3",
1277
+ "symfony/console": "^4.4.19 || ^5",
1278
+ "symfony/event-dispatcher": "^4.4.19 || ^5",
1279
+ "symfony/filesystem": "^4.4.9 || ^5",
1280
+ "symfony/finder": "^4.4.9 || ^5",
1281
+ "symfony/process": "^4.4.9 || ^5",
1282
+ "symfony/yaml": "^4.4 || ^5"
1283
+ },
1284
+ "conflict": {
1285
+ "codegyre/robo": "*"
1286
+ },
1287
+ "require-dev": {
1288
+ "natxet/cssmin": "3.0.4",
1289
+ "patchwork/jsqueeze": "^2",
1290
+ "pear/archive_tar": "^1.4.4",
1291
+ "phpunit/phpunit": "^7.5.20 | ^8",
1292
+ "squizlabs/php_codesniffer": "^3.6",
1293
+ "yoast/phpunit-polyfills": "^0.2.0"
1294
+ },
1295
+ "suggest": {
1296
+ "natxet/cssmin": "For minifying CSS files in taskMinify",
1297
+ "patchwork/jsqueeze": "For minifying JS files in taskMinify",
1298
+ "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively.",
1299
+ "totten/lurkerlite": "For monitoring filesystem changes in taskWatch"
1300
+ },
1301
+ "bin": [
1302
+ "robo"
1303
+ ],
1304
+ "type": "library",
1305
+ "extra": {
1306
+ "scenarios": {
1307
+ "symfony4": {
1308
+ "require": {
1309
+ "symfony/console": "^4.4.11",
1310
+ "symfony/event-dispatcher": "^4.4.11",
1311
+ "symfony/filesystem": "^4.4.11",
1312
+ "symfony/finder": "^4.4.11",
1313
+ "symfony/process": "^4.4.11",
1314
+ "phpunit/phpunit": "^6",
1315
+ "nikic/php-parser": "^2"
1316
+ },
1317
+ "remove": [
1318
+ "codeception/phpunit-wrapper"
1319
+ ],
1320
+ "config": {
1321
+ "platform": {
1322
+ "php": "7.1.3"
1323
+ }
1324
+ }
1325
+ }
1326
+ },
1327
+ "branch-alias": {
1328
+ "dev-master": "2.x-dev",
1329
+ "dev-main": "2.x-dev"
1330
+ }
1331
+ },
1332
+ "autoload": {
1333
+ "psr-4": {
1334
+ "Robo\\": "src"
1335
+ }
1336
+ },
1337
+ "notification-url": "https://packagist.org/downloads/",
1338
+ "license": [
1339
+ "MIT"
1340
+ ],
1341
+ "authors": [
1342
+ {
1343
+ "name": "Davert",
1344
+ "email": "davert.php@resend.cc"
1345
+ }
1346
+ ],
1347
+ "description": "Modern task runner",
1348
+ "support": {
1349
+ "issues": "https://github.com/consolidation/Robo/issues",
1350
+ "source": "https://github.com/consolidation/Robo/tree/3.0.6"
1351
+ },
1352
+ "time": "2021-10-05T23:56:45+00:00"
1353
+ },
1354
+ {
1355
+ "name": "consolidation/self-update",
1356
+ "version": "2.0.0",
1357
+ "source": {
1358
+ "type": "git",
1359
+ "url": "https://github.com/consolidation/self-update.git",
1360
+ "reference": "7d6877f8006c51069e1469a9c57b1435640f74b7"
1361
+ },
1362
+ "dist": {
1363
+ "type": "zip",
1364
+ "url": "https://api.github.com/repos/consolidation/self-update/zipball/7d6877f8006c51069e1469a9c57b1435640f74b7",
1365
+ "reference": "7d6877f8006c51069e1469a9c57b1435640f74b7",
1366
+ "shasum": ""
1367
+ },
1368
+ "require": {
1369
+ "composer/semver": "^3.2",
1370
+ "php": ">=5.5.0",
1371
+ "symfony/console": "^2.8|^3|^4|^5",
1372
+ "symfony/filesystem": "^2.5|^3|^4|^5"
1373
+ },
1374
+ "bin": [
1375
+ "scripts/release"
1376
+ ],
1377
+ "type": "library",
1378
+ "extra": {
1379
+ "branch-alias": {
1380
+ "dev-main": "2.x-dev"
1381
+ }
1382
+ },
1383
+ "autoload": {
1384
+ "psr-4": {
1385
+ "SelfUpdate\\": "src"
1386
+ }
1387
+ },
1388
+ "notification-url": "https://packagist.org/downloads/",
1389
+ "license": [
1390
+ "MIT"
1391
+ ],
1392
+ "authors": [
1393
+ {
1394
+ "name": "Alexander Menk",
1395
+ "email": "menk@mestrona.net"
1396
+ },
1397
+ {
1398
+ "name": "Greg Anderson",
1399
+ "email": "greg.1.anderson@greenknowe.org"
1400
+ }
1401
+ ],
1402
+ "description": "Provides a self:update command for Symfony Console applications.",
1403
+ "support": {
1404
+ "issues": "https://github.com/consolidation/self-update/issues",
1405
+ "source": "https://github.com/consolidation/self-update/tree/2.0.0"
1406
+ },
1407
+ "time": "2021-10-05T23:29:47+00:00"
1408
+ },
1409
+ {
1410
+ "name": "dflydev/dot-access-data",
1411
+ "version": "v1.1.0",
1412
+ "source": {
1413
+ "type": "git",
1414
+ "url": "https://github.com/dflydev/dflydev-dot-access-data.git",
1415
+ "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a"
1416
+ },
1417
+ "dist": {
1418
+ "type": "zip",
1419
+ "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a",
1420
+ "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a",
1421
+ "shasum": ""
1422
+ },
1423
+ "require": {
1424
+ "php": ">=5.3.2"
1425
+ },
1426
+ "type": "library",
1427
+ "extra": {
1428
+ "branch-alias": {
1429
+ "dev-master": "1.0-dev"
1430
+ }
1431
+ },
1432
+ "autoload": {
1433
+ "psr-0": {
1434
+ "Dflydev\\DotAccessData": "src"
1435
+ }
1436
+ },
1437
+ "notification-url": "https://packagist.org/downloads/",
1438
+ "license": [
1439
+ "MIT"
1440
+ ],
1441
+ "authors": [
1442
+ {
1443
+ "name": "Dragonfly Development Inc.",
1444
+ "email": "info@dflydev.com",
1445
+ "homepage": "http://dflydev.com"
1446
+ },
1447
+ {
1448
+ "name": "Beau Simensen",
1449
+ "email": "beau@dflydev.com",
1450
+ "homepage": "http://beausimensen.com"
1451
+ },
1452
+ {
1453
+ "name": "Carlos Frutos",
1454
+ "email": "carlos@kiwing.it",
1455
+ "homepage": "https://github.com/cfrutos"
1456
+ }
1457
+ ],
1458
+ "description": "Given a deep data structure, access data by dot notation.",
1459
+ "homepage": "https://github.com/dflydev/dflydev-dot-access-data",
1460
+ "keywords": [
1461
+ "access",
1462
+ "data",
1463
+ "dot",
1464
+ "notation"
1465
+ ],
1466
+ "support": {
1467
+ "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
1468
+ "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/master"
1469
+ },
1470
+ "time": "2017-01-20T21:14:22+00:00"
1471
+ },
1472
+ {
1473
+ "name": "dg/mysql-dump",
1474
+ "version": "v1.5.1",
1475
+ "source": {
1476
+ "type": "git",
1477
+ "url": "https://github.com/dg/MySQL-dump.git",
1478
+ "reference": "e0e287b715b43293773a8b0edf8514f606e01780"
1479
+ },
1480
+ "dist": {
1481
+ "type": "zip",
1482
+ "url": "https://api.github.com/repos/dg/MySQL-dump/zipball/e0e287b715b43293773a8b0edf8514f606e01780",
1483
+ "reference": "e0e287b715b43293773a8b0edf8514f606e01780",
1484
+ "shasum": ""
1485
+ },
1486
+ "require": {
1487
+ "php": ">=5.6"
1488
+ },
1489
+ "type": "library",
1490
+ "autoload": {
1491
+ "classmap": [
1492
+ "src/"
1493
+ ]
1494
+ },
1495
+ "notification-url": "https://packagist.org/downloads/",
1496
+ "license": [
1497
+ "BSD-3-Clause"
1498
+ ],
1499
+ "authors": [
1500
+ {
1501
+ "name": "David Grudl",
1502
+ "homepage": "http://davidgrudl.com"
1503
+ }
1504
+ ],
1505
+ "description": "MySQL database dump.",
1506
+ "homepage": "https://github.com/dg/MySQL-dump",
1507
+ "keywords": [
1508
+ "mysql"
1509
+ ],
1510
+ "support": {
1511
+ "source": "https://github.com/dg/MySQL-dump/tree/master"
1512
+ },
1513
+ "time": "2019-09-10T21:36:25+00:00"
1514
+ },
1515
+ {
1516
+ "name": "doctrine/inflector",
1517
+ "version": "2.0.4",
1518
+ "source": {
1519
+ "type": "git",
1520
+ "url": "https://github.com/doctrine/inflector.git",
1521
+ "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
1522
+ },
1523
+ "dist": {
1524
+ "type": "zip",
1525
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
1526
+ "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
1527
+ "shasum": ""
1528
+ },
1529
+ "require": {
1530
+ "php": "^7.2 || ^8.0"
1531
+ },
1532
+ "require-dev": {
1533
+ "doctrine/coding-standard": "^8.2",
1534
+ "phpstan/phpstan": "^0.12",
1535
+ "phpstan/phpstan-phpunit": "^0.12",
1536
+ "phpstan/phpstan-strict-rules": "^0.12",
1537
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
1538
+ "vimeo/psalm": "^4.10"
1539
+ },
1540
+ "type": "library",
1541
+ "autoload": {
1542
+ "psr-4": {
1543
+ "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
1544
+ }
1545
+ },
1546
+ "notification-url": "https://packagist.org/downloads/",
1547
+ "license": [
1548
+ "MIT"
1549
+ ],
1550
+ "authors": [
1551
+ {
1552
+ "name": "Guilherme Blanco",
1553
+ "email": "guilhermeblanco@gmail.com"
1554
+ },
1555
+ {
1556
+ "name": "Roman Borschel",
1557
+ "email": "roman@code-factory.org"
1558
+ },
1559
+ {
1560
+ "name": "Benjamin Eberlei",
1561
+ "email": "kontakt@beberlei.de"
1562
+ },
1563
+ {
1564
+ "name": "Jonathan Wage",
1565
+ "email": "jonwage@gmail.com"
1566
+ },
1567
+ {
1568
+ "name": "Johannes Schmitt",
1569
+ "email": "schmittjoh@gmail.com"
1570
+ }
1571
+ ],
1572
+ "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
1573
+ "homepage": "https://www.doctrine-project.org/projects/inflector.html",
1574
+ "keywords": [
1575
+ "inflection",
1576
+ "inflector",
1577
+ "lowercase",
1578
+ "manipulation",
1579
+ "php",
1580
+ "plural",
1581
+ "singular",
1582
+ "strings",
1583
+ "uppercase",
1584
+ "words"
1585
+ ],
1586
+ "support": {
1587
+ "issues": "https://github.com/doctrine/inflector/issues",
1588
+ "source": "https://github.com/doctrine/inflector/tree/2.0.4"
1589
+ },
1590
+ "funding": [
1591
+ {
1592
+ "url": "https://www.doctrine-project.org/sponsorship.html",
1593
+ "type": "custom"
1594
+ },
1595
+ {
1596
+ "url": "https://www.patreon.com/phpdoctrine",
1597
+ "type": "patreon"
1598
+ },
1599
+ {
1600
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
1601
+ "type": "tidelift"
1602
+ }
1603
+ ],
1604
+ "time": "2021-10-22T20:16:43+00:00"
1605
+ },
1606
+ {
1607
+ "name": "doctrine/instantiator",
1608
+ "version": "1.4.0",
1609
+ "source": {
1610
+ "type": "git",
1611
+ "url": "https://github.com/doctrine/instantiator.git",
1612
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
1613
+ },
1614
+ "dist": {
1615
+ "type": "zip",
1616
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
1617
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
1618
+ "shasum": ""
1619
+ },
1620
+ "require": {
1621
+ "php": "^7.1 || ^8.0"
1622
+ },
1623
+ "require-dev": {
1624
+ "doctrine/coding-standard": "^8.0",
1625
+ "ext-pdo": "*",
1626
+ "ext-phar": "*",
1627
+ "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
1628
+ "phpstan/phpstan": "^0.12",
1629
+ "phpstan/phpstan-phpunit": "^0.12",
1630
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
1631
+ },
1632
+ "type": "library",
1633
+ "autoload": {
1634
+ "psr-4": {
1635
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
1636
+ }
1637
+ },
1638
+ "notification-url": "https://packagist.org/downloads/",
1639
+ "license": [
1640
+ "MIT"
1641
+ ],
1642
+ "authors": [
1643
+ {
1644
+ "name": "Marco Pivetta",
1645
+ "email": "ocramius@gmail.com",
1646
+ "homepage": "https://ocramius.github.io/"
1647
+ }
1648
+ ],
1649
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
1650
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
1651
+ "keywords": [
1652
+ "constructor",
1653
+ "instantiate"
1654
+ ],
1655
+ "support": {
1656
+ "issues": "https://github.com/doctrine/instantiator/issues",
1657
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
1658
+ },
1659
+ "funding": [
1660
+ {
1661
+ "url": "https://www.doctrine-project.org/sponsorship.html",
1662
+ "type": "custom"
1663
+ },
1664
+ {
1665
+ "url": "https://www.patreon.com/phpdoctrine",
1666
+ "type": "patreon"
1667
+ },
1668
+ {
1669
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
1670
+ "type": "tidelift"
1671
+ }
1672
+ ],
1673
+ "time": "2020-11-10T18:47:58+00:00"
1674
+ },
1675
+ {
1676
+ "name": "gettext/gettext",
1677
+ "version": "v4.8.6",
1678
+ "source": {
1679
+ "type": "git",
1680
+ "url": "https://github.com/php-gettext/Gettext.git",
1681
+ "reference": "bbeb8f4d3077663739aecb4551b22e720c0e9efe"
1682
+ },
1683
+ "dist": {
1684
+ "type": "zip",
1685
+ "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/bbeb8f4d3077663739aecb4551b22e720c0e9efe",
1686
+ "reference": "bbeb8f4d3077663739aecb4551b22e720c0e9efe",
1687
+ "shasum": ""
1688
+ },
1689
+ "require": {
1690
+ "gettext/languages": "^2.3",
1691
+ "php": ">=5.4.0"
1692
+ },
1693
+ "require-dev": {
1694
+ "illuminate/view": "^5.0.x-dev",
1695
+ "phpunit/phpunit": "^4.8|^5.7|^6.5",
1696
+ "squizlabs/php_codesniffer": "^3.0",
1697
+ "symfony/yaml": "~2",
1698
+ "twig/extensions": "*",
1699
+ "twig/twig": "^1.31|^2.0"
1700
+ },
1701
+ "suggest": {
1702
+ "illuminate/view": "Is necessary if you want to use the Blade extractor",
1703
+ "symfony/yaml": "Is necessary if you want to use the Yaml extractor/generator",
1704
+ "twig/extensions": "Is necessary if you want to use the Twig extractor",
1705
+ "twig/twig": "Is necessary if you want to use the Twig extractor"
1706
+ },
1707
+ "type": "library",
1708
+ "autoload": {
1709
+ "psr-4": {
1710
+ "Gettext\\": "src"
1711
+ }
1712
+ },
1713
+ "notification-url": "https://packagist.org/downloads/",
1714
+ "license": [
1715
+ "MIT"
1716
+ ],
1717
+ "authors": [
1718
+ {
1719
+ "name": "Oscar Otero",
1720
+ "email": "oom@oscarotero.com",
1721
+ "homepage": "http://oscarotero.com",
1722
+ "role": "Developer"
1723
+ }
1724
+ ],
1725
+ "description": "PHP gettext manager",
1726
+ "homepage": "https://github.com/oscarotero/Gettext",
1727
+ "keywords": [
1728
+ "JS",
1729
+ "gettext",
1730
+ "i18n",
1731
+ "mo",
1732
+ "po",
1733
+ "translation"
1734
+ ],
1735
+ "support": {
1736
+ "email": "oom@oscarotero.com",
1737
+ "issues": "https://github.com/oscarotero/Gettext/issues",
1738
+ "source": "https://github.com/php-gettext/Gettext/tree/v4.8.6"
1739
+ },
1740
+ "funding": [
1741
+ {
1742
+ "url": "https://paypal.me/oscarotero",
1743
+ "type": "custom"
1744
+ },
1745
+ {
1746
+ "url": "https://github.com/oscarotero",
1747
+ "type": "github"
1748
+ },
1749
+ {
1750
+ "url": "https://www.patreon.com/misteroom",
1751
+ "type": "patreon"
1752
+ }
1753
+ ],
1754
+ "time": "2021-10-19T10:44:53+00:00"
1755
+ },
1756
+ {
1757
+ "name": "gettext/languages",
1758
+ "version": "2.9.0",
1759
+ "source": {
1760
+ "type": "git",
1761
+ "url": "https://github.com/php-gettext/Languages.git",
1762
+ "reference": "ed56dd2c7f4024cc953ed180d25f02f2640e3ffa"
1763
+ },
1764
+ "dist": {
1765
+ "type": "zip",
1766
+ "url": "https://api.github.com/repos/php-gettext/Languages/zipball/ed56dd2c7f4024cc953ed180d25f02f2640e3ffa",
1767
+ "reference": "ed56dd2c7f4024cc953ed180d25f02f2640e3ffa",
1768
+ "shasum": ""
1769
+ },
1770
+ "require": {
1771
+ "php": ">=5.3"
1772
+ },
1773
+ "require-dev": {
1774
+ "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5 || ^8.4"
1775
+ },
1776
+ "bin": [
1777
+ "bin/export-plural-rules"
1778
+ ],
1779
+ "type": "library",
1780
+ "autoload": {
1781
+ "psr-4": {
1782
+ "Gettext\\Languages\\": "src/"
1783
+ }
1784
+ },
1785
+ "notification-url": "https://packagist.org/downloads/",
1786
+ "license": [
1787
+ "MIT"
1788
+ ],
1789
+ "authors": [
1790
+ {
1791
+ "name": "Michele Locati",
1792
+ "email": "mlocati@gmail.com",
1793
+ "role": "Developer"
1794
+ }
1795
+ ],
1796
+ "description": "gettext languages with plural rules",
1797
+ "homepage": "https://github.com/php-gettext/Languages",
1798
+ "keywords": [
1799
+ "cldr",
1800
+ "i18n",
1801
+ "internationalization",
1802
+ "l10n",
1803
+ "language",
1804
+ "languages",
1805
+ "localization",
1806
+ "php",
1807
+ "plural",
1808
+ "plural rules",
1809
+ "plurals",
1810
+ "translate",
1811
+ "translations",
1812
+ "unicode"
1813
+ ],
1814
+ "support": {
1815
+ "issues": "https://github.com/php-gettext/Languages/issues",
1816
+ "source": "https://github.com/php-gettext/Languages/tree/2.9.0"
1817
+ },
1818
+ "funding": [
1819
+ {
1820
+ "url": "https://paypal.me/mlocati",
1821
+ "type": "custom"
1822
+ },
1823
+ {
1824
+ "url": "https://github.com/mlocati",
1825
+ "type": "github"
1826
+ }
1827
+ ],
1828
+ "time": "2021-11-11T17:30:39+00:00"
1829
+ },
1830
+ {
1831
+ "name": "grasmash/expander",
1832
+ "version": "1.0.0",
1833
+ "source": {
1834
+ "type": "git",
1835
+ "url": "https://github.com/grasmash/expander.git",
1836
+ "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f"
1837
+ },
1838
+ "dist": {
1839
+ "type": "zip",
1840
+ "url": "https://api.github.com/repos/grasmash/expander/zipball/95d6037344a4be1dd5f8e0b0b2571a28c397578f",
1841
+ "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f",
1842
+ "shasum": ""
1843
+ },
1844
+ "require": {
1845
+ "dflydev/dot-access-data": "^1.1.0",
1846
+ "php": ">=5.4"
1847
+ },
1848
+ "require-dev": {
1849
+ "greg-1-anderson/composer-test-scenarios": "^1",
1850
+ "phpunit/phpunit": "^4|^5.5.4",
1851
+ "satooshi/php-coveralls": "^1.0.2|dev-master",
1852
+ "squizlabs/php_codesniffer": "^2.7"
1853
+ },
1854
+ "type": "library",
1855
+ "extra": {
1856
+ "branch-alias": {
1857
+ "dev-master": "1.x-dev"
1858
+ }
1859
+ },
1860
+ "autoload": {
1861
+ "psr-4": {
1862
+ "Grasmash\\Expander\\": "src/"
1863
+ }
1864
+ },
1865
+ "notification-url": "https://packagist.org/downloads/",
1866
+ "license": [
1867
+ "MIT"
1868
+ ],
1869
+ "authors": [
1870
+ {
1871
+ "name": "Matthew Grasmick"
1872
+ }
1873
+ ],
1874
+ "description": "Expands internal property references in PHP arrays file.",
1875
+ "support": {
1876
+ "issues": "https://github.com/grasmash/expander/issues",
1877
+ "source": "https://github.com/grasmash/expander/tree/master"
1878
+ },
1879
+ "time": "2017-12-21T22:14:55+00:00"
1880
+ },
1881
+ {
1882
+ "name": "guzzlehttp/guzzle",
1883
+ "version": "7.4.0",
1884
+ "source": {
1885
+ "type": "git",
1886
+ "url": "https://github.com/guzzle/guzzle.git",
1887
+ "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94"
1888
+ },
1889
+ "dist": {
1890
+ "type": "zip",
1891
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/868b3571a039f0ebc11ac8f344f4080babe2cb94",
1892
+ "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94",
1893
+ "shasum": ""
1894
+ },
1895
+ "require": {
1896
+ "ext-json": "*",
1897
+ "guzzlehttp/promises": "^1.5",
1898
+ "guzzlehttp/psr7": "^1.8.3 || ^2.1",
1899
+ "php": "^7.2.5 || ^8.0",
1900
+ "psr/http-client": "^1.0",
1901
+ "symfony/deprecation-contracts": "^2.2"
1902
+ },
1903
+ "provide": {
1904
+ "psr/http-client-implementation": "1.0"
1905
+ },
1906
+ "require-dev": {
1907
+ "bamarni/composer-bin-plugin": "^1.4.1",
1908
+ "ext-curl": "*",
1909
+ "php-http/client-integration-tests": "^3.0",
1910
+ "phpunit/phpunit": "^8.5.5 || ^9.3.5",
1911
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
1912
+ },
1913
+ "suggest": {
1914
+ "ext-curl": "Required for CURL handler support",
1915
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
1916
+ "psr/log": "Required for using the Log middleware"
1917
+ },
1918
+ "type": "library",
1919
+ "extra": {
1920
+ "branch-alias": {
1921
+ "dev-master": "7.4-dev"
1922
+ }
1923
+ },
1924
+ "autoload": {
1925
+ "psr-4": {
1926
+ "GuzzleHttp\\": "src/"
1927
+ },
1928
+ "files": [
1929
+ "src/functions_include.php"
1930
+ ]
1931
+ },
1932
+ "notification-url": "https://packagist.org/downloads/",
1933
+ "license": [
1934
+ "MIT"
1935
+ ],
1936
+ "authors": [
1937
+ {
1938
+ "name": "Graham Campbell",
1939
+ "email": "hello@gjcampbell.co.uk",
1940
+ "homepage": "https://github.com/GrahamCampbell"
1941
+ },
1942
+ {
1943
+ "name": "Michael Dowling",
1944
+ "email": "mtdowling@gmail.com",
1945
+ "homepage": "https://github.com/mtdowling"
1946
+ },
1947
+ {
1948
+ "name": "Jeremy Lindblom",
1949
+ "email": "jeremeamia@gmail.com",
1950
+ "homepage": "https://github.com/jeremeamia"
1951
+ },
1952
+ {
1953
+ "name": "George Mponos",
1954
+ "email": "gmponos@gmail.com",
1955
+ "homepage": "https://github.com/gmponos"
1956
+ },
1957
+ {
1958
+ "name": "Tobias Nyholm",
1959
+ "email": "tobias.nyholm@gmail.com",
1960
+ "homepage": "https://github.com/Nyholm"
1961
+ },
1962
+ {
1963
+ "name": "Márk Sági-Kazár",
1964
+ "email": "mark.sagikazar@gmail.com",
1965
+ "homepage": "https://github.com/sagikazarmark"
1966
+ },
1967
+ {
1968
+ "name": "Tobias Schultze",
1969
+ "email": "webmaster@tubo-world.de",
1970
+ "homepage": "https://github.com/Tobion"
1971
+ }
1972
+ ],
1973
+ "description": "Guzzle is a PHP HTTP client library",
1974
+ "keywords": [
1975
+ "client",
1976
+ "curl",
1977
+ "framework",
1978
+ "http",
1979
+ "http client",
1980
+ "psr-18",
1981
+ "psr-7",
1982
+ "rest",
1983
+ "web service"
1984
+ ],
1985
+ "support": {
1986
+ "issues": "https://github.com/guzzle/guzzle/issues",
1987
+ "source": "https://github.com/guzzle/guzzle/tree/7.4.0"
1988
+ },
1989
+ "funding": [
1990
+ {
1991
+ "url": "https://github.com/GrahamCampbell",
1992
+ "type": "github"
1993
+ },
1994
+ {
1995
+ "url": "https://github.com/Nyholm",
1996
+ "type": "github"
1997
+ },
1998
+ {
1999
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
2000
+ "type": "tidelift"
2001
+ }
2002
+ ],
2003
+ "time": "2021-10-18T09:52:00+00:00"
2004
+ },
2005
+ {
2006
+ "name": "guzzlehttp/promises",
2007
+ "version": "1.5.1",
2008
+ "source": {
2009
+ "type": "git",
2010
+ "url": "https://github.com/guzzle/promises.git",
2011
+ "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
2012
+ },
2013
+ "dist": {
2014
+ "type": "zip",
2015
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
2016
+ "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
2017
+ "shasum": ""
2018
+ },
2019
+ "require": {
2020
+ "php": ">=5.5"
2021
+ },
2022
+ "require-dev": {
2023
+ "symfony/phpunit-bridge": "^4.4 || ^5.1"
2024
+ },
2025
+ "type": "library",
2026
+ "extra": {
2027
+ "branch-alias": {
2028
+ "dev-master": "1.5-dev"
2029
+ }
2030
+ },
2031
+ "autoload": {
2032
+ "psr-4": {
2033
+ "GuzzleHttp\\Promise\\": "src/"
2034
+ },
2035
+ "files": [
2036
+ "src/functions_include.php"
2037
+ ]
2038
+ },
2039
+ "notification-url": "https://packagist.org/downloads/",
2040
+ "license": [
2041
+ "MIT"
2042
+ ],
2043
+ "authors": [
2044
+ {
2045
+ "name": "Graham Campbell",
2046
+ "email": "hello@gjcampbell.co.uk",
2047
+ "homepage": "https://github.com/GrahamCampbell"
2048
+ },
2049
+ {
2050
+ "name": "Michael Dowling",
2051
+ "email": "mtdowling@gmail.com",
2052
+ "homepage": "https://github.com/mtdowling"
2053
+ },
2054
+ {
2055
+ "name": "Tobias Nyholm",
2056
+ "email": "tobias.nyholm@gmail.com",
2057
+ "homepage": "https://github.com/Nyholm"
2058
+ },
2059
+ {
2060
+ "name": "Tobias Schultze",
2061
+ "email": "webmaster@tubo-world.de",
2062
+ "homepage": "https://github.com/Tobion"
2063
+ }
2064
+ ],
2065
+ "description": "Guzzle promises library",
2066
+ "keywords": [
2067
+ "promise"
2068
+ ],
2069
+ "support": {
2070
+ "issues": "https://github.com/guzzle/promises/issues",
2071
+ "source": "https://github.com/guzzle/promises/tree/1.5.1"
2072
+ },
2073
+ "funding": [
2074
+ {
2075
+ "url": "https://github.com/GrahamCampbell",
2076
+ "type": "github"
2077
+ },
2078
+ {
2079
+ "url": "https://github.com/Nyholm",
2080
+ "type": "github"
2081
+ },
2082
+ {
2083
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
2084
+ "type": "tidelift"
2085
+ }
2086
+ ],
2087
+ "time": "2021-10-22T20:56:57+00:00"
2088
+ },
2089
+ {
2090
+ "name": "guzzlehttp/psr7",
2091
+ "version": "2.1.0",
2092
+ "source": {
2093
+ "type": "git",
2094
+ "url": "https://github.com/guzzle/psr7.git",
2095
+ "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72"
2096
+ },
2097
+ "dist": {
2098
+ "type": "zip",
2099
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
2100
+ "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
2101
+ "shasum": ""
2102
+ },
2103
+ "require": {
2104
+ "php": "^7.2.5 || ^8.0",
2105
+ "psr/http-factory": "^1.0",
2106
+ "psr/http-message": "^1.0",
2107
+ "ralouphie/getallheaders": "^3.0"
2108
+ },
2109
+ "provide": {
2110
+ "psr/http-factory-implementation": "1.0",
2111
+ "psr/http-message-implementation": "1.0"
2112
+ },
2113
+ "require-dev": {
2114
+ "bamarni/composer-bin-plugin": "^1.4.1",
2115
+ "http-interop/http-factory-tests": "^0.9",
2116
+ "phpunit/phpunit": "^8.5.8 || ^9.3.10"
2117
+ },
2118
+ "suggest": {
2119
+ "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
2120
+ },
2121
+ "type": "library",
2122
+ "extra": {
2123
+ "branch-alias": {
2124
+ "dev-master": "2.1-dev"
2125
+ }
2126
+ },
2127
+ "autoload": {
2128
+ "psr-4": {
2129
+ "GuzzleHttp\\Psr7\\": "src/"
2130
+ }
2131
+ },
2132
+ "notification-url": "https://packagist.org/downloads/",
2133
+ "license": [
2134
+ "MIT"
2135
+ ],
2136
+ "authors": [
2137
+ {
2138
+ "name": "Graham Campbell",
2139
+ "email": "hello@gjcampbell.co.uk",
2140
+ "homepage": "https://github.com/GrahamCampbell"
2141
+ },
2142
+ {
2143
+ "name": "Michael Dowling",
2144
+ "email": "mtdowling@gmail.com",
2145
+ "homepage": "https://github.com/mtdowling"
2146
+ },
2147
+ {
2148
+ "name": "George Mponos",
2149
+ "email": "gmponos@gmail.com",
2150
+ "homepage": "https://github.com/gmponos"
2151
+ },
2152
+ {
2153
+ "name": "Tobias Nyholm",
2154
+ "email": "tobias.nyholm@gmail.com",
2155
+ "homepage": "https://github.com/Nyholm"
2156
+ },
2157
+ {
2158
+ "name": "Márk Sági-Kazár",
2159
+ "email": "mark.sagikazar@gmail.com",
2160
+ "homepage": "https://github.com/sagikazarmark"
2161
+ },
2162
+ {
2163
+ "name": "Tobias Schultze",
2164
+ "email": "webmaster@tubo-world.de",
2165
+ "homepage": "https://github.com/Tobion"
2166
+ },
2167
+ {
2168
+ "name": "Márk Sági-Kazár",
2169
+ "email": "mark.sagikazar@gmail.com",
2170
+ "homepage": "https://sagikazarmark.hu"
2171
+ }
2172
+ ],
2173
+ "description": "PSR-7 message implementation that also provides common utility methods",
2174
+ "keywords": [
2175
+ "http",
2176
+ "message",
2177
+ "psr-7",
2178
+ "request",
2179
+ "response",
2180
+ "stream",
2181
+ "uri",
2182
+ "url"
2183
+ ],
2184
+ "support": {
2185
+ "issues": "https://github.com/guzzle/psr7/issues",
2186
+ "source": "https://github.com/guzzle/psr7/tree/2.1.0"
2187
+ },
2188
+ "funding": [
2189
+ {
2190
+ "url": "https://github.com/GrahamCampbell",
2191
+ "type": "github"
2192
+ },
2193
+ {
2194
+ "url": "https://github.com/Nyholm",
2195
+ "type": "github"
2196
+ },
2197
+ {
2198
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
2199
+ "type": "tidelift"
2200
+ }
2201
+ ],
2202
+ "time": "2021-10-06T17:43:30+00:00"
2203
+ },
2204
+ {
2205
+ "name": "illuminate/collections",
2206
+ "version": "v8.74.0",
2207
+ "source": {
2208
+ "type": "git",
2209
+ "url": "https://github.com/illuminate/collections.git",
2210
+ "reference": "f292b77824b42cd28decc7327e7c2e24c3806371"
2211
+ },
2212
+ "dist": {
2213
+ "type": "zip",
2214
+ "url": "https://api.github.com/repos/illuminate/collections/zipball/f292b77824b42cd28decc7327e7c2e24c3806371",
2215
+ "reference": "f292b77824b42cd28decc7327e7c2e24c3806371",
2216
+ "shasum": ""
2217
+ },
2218
+ "require": {
2219
+ "illuminate/contracts": "^8.0",
2220
+ "illuminate/macroable": "^8.0",
2221
+ "php": "^7.3|^8.0"
2222
+ },
2223
+ "suggest": {
2224
+ "symfony/var-dumper": "Required to use the dump method (^5.4)."
2225
+ },
2226
+ "type": "library",
2227
+ "extra": {
2228
+ "branch-alias": {
2229
+ "dev-master": "8.x-dev"
2230
+ }
2231
+ },
2232
+ "autoload": {
2233
+ "psr-4": {
2234
+ "Illuminate\\Support\\": ""
2235
+ },
2236
+ "files": [
2237
+ "helpers.php"
2238
+ ]
2239
+ },
2240
+ "notification-url": "https://packagist.org/downloads/",
2241
+ "license": [
2242
+ "MIT"
2243
+ ],
2244
+ "authors": [
2245
+ {
2246
+ "name": "Taylor Otwell",
2247
+ "email": "taylor@laravel.com"
2248
+ }
2249
+ ],
2250
+ "description": "The Illuminate Collections package.",
2251
+ "homepage": "https://laravel.com",
2252
+ "support": {
2253
+ "issues": "https://github.com/laravel/framework/issues",
2254
+ "source": "https://github.com/laravel/framework"
2255
+ },
2256
+ "time": "2021-11-30T14:29:03+00:00"
2257
+ },
2258
+ {
2259
+ "name": "illuminate/contracts",
2260
+ "version": "v8.74.0",
2261
+ "source": {
2262
+ "type": "git",
2263
+ "url": "https://github.com/illuminate/contracts.git",
2264
+ "reference": "b0886ec05a63b204634d64d0b39d5b78a7c06f81"
2265
+ },
2266
+ "dist": {
2267
+ "type": "zip",
2268
+ "url": "https://api.github.com/repos/illuminate/contracts/zipball/b0886ec05a63b204634d64d0b39d5b78a7c06f81",
2269
+ "reference": "b0886ec05a63b204634d64d0b39d5b78a7c06f81",
2270
+ "shasum": ""
2271
+ },
2272
+ "require": {
2273
+ "php": "^7.3|^8.0",
2274
+ "psr/container": "^1.0",
2275
+ "psr/simple-cache": "^1.0"
2276
+ },
2277
+ "type": "library",
2278
+ "extra": {
2279
+ "branch-alias": {
2280
+ "dev-master": "8.x-dev"
2281
+ }
2282
+ },
2283
+ "autoload": {
2284
+ "psr-4": {
2285
+ "Illuminate\\Contracts\\": ""
2286
+ }
2287
+ },
2288
+ "notification-url": "https://packagist.org/downloads/",
2289
+ "license": [
2290
+ "MIT"
2291
+ ],
2292
+ "authors": [
2293
+ {
2294
+ "name": "Taylor Otwell",
2295
+ "email": "taylor@laravel.com"
2296
+ }
2297
+ ],
2298
+ "description": "The Illuminate Contracts package.",
2299
+ "homepage": "https://laravel.com",
2300
+ "support": {
2301
+ "issues": "https://github.com/laravel/framework/issues",
2302
+ "source": "https://github.com/laravel/framework"
2303
+ },
2304
+ "time": "2021-11-17T15:04:30+00:00"
2305
+ },
2306
+ {
2307
+ "name": "illuminate/macroable",
2308
+ "version": "v8.74.0",
2309
+ "source": {
2310
+ "type": "git",
2311
+ "url": "https://github.com/illuminate/macroable.git",
2312
+ "reference": "aed81891a6e046fdee72edd497f822190f61c162"
2313
+ },
2314
+ "dist": {
2315
+ "type": "zip",
2316
+ "url": "https://api.github.com/repos/illuminate/macroable/zipball/aed81891a6e046fdee72edd497f822190f61c162",
2317
+ "reference": "aed81891a6e046fdee72edd497f822190f61c162",
2318
+ "shasum": ""
2319
+ },
2320
+ "require": {
2321
+ "php": "^7.3|^8.0"
2322
+ },
2323
+ "type": "library",
2324
+ "extra": {
2325
+ "branch-alias": {
2326
+ "dev-master": "8.x-dev"
2327
+ }
2328
+ },
2329
+ "autoload": {
2330
+ "psr-4": {
2331
+ "Illuminate\\Support\\": ""
2332
+ }
2333
+ },
2334
+ "notification-url": "https://packagist.org/downloads/",
2335
+ "license": [
2336
+ "MIT"
2337
+ ],
2338
+ "authors": [
2339
+ {
2340
+ "name": "Taylor Otwell",
2341
+ "email": "taylor@laravel.com"
2342
+ }
2343
+ ],
2344
+ "description": "The Illuminate Macroable package.",
2345
+ "homepage": "https://laravel.com",
2346
+ "support": {
2347
+ "issues": "https://github.com/laravel/framework/issues",
2348
+ "source": "https://github.com/laravel/framework"
2349
+ },
2350
+ "time": "2021-11-16T13:57:03+00:00"
2351
+ },
2352
+ {
2353
+ "name": "illuminate/support",
2354
+ "version": "v8.74.0",
2355
+ "source": {
2356
+ "type": "git",
2357
+ "url": "https://github.com/illuminate/support.git",
2358
+ "reference": "79bb5570274d6abbfaac736992c6b5f5cbcc17c1"
2359
+ },
2360
+ "dist": {
2361
+ "type": "zip",
2362
+ "url": "https://api.github.com/repos/illuminate/support/zipball/79bb5570274d6abbfaac736992c6b5f5cbcc17c1",
2363
+ "reference": "79bb5570274d6abbfaac736992c6b5f5cbcc17c1",
2364
+ "shasum": ""
2365
+ },
2366
+ "require": {
2367
+ "doctrine/inflector": "^1.4|^2.0",
2368
+ "ext-json": "*",
2369
+ "ext-mbstring": "*",
2370
+ "illuminate/collections": "^8.0",
2371
+ "illuminate/contracts": "^8.0",
2372
+ "illuminate/macroable": "^8.0",
2373
+ "nesbot/carbon": "^2.53.1",
2374
+ "php": "^7.3|^8.0",
2375
+ "voku/portable-ascii": "^1.4.8"
2376
+ },
2377
+ "conflict": {
2378
+ "tightenco/collect": "<5.5.33"
2379
+ },
2380
+ "suggest": {
2381
+ "illuminate/filesystem": "Required to use the composer class (^8.0).",
2382
+ "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
2383
+ "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
2384
+ "symfony/process": "Required to use the composer class (^5.4).",
2385
+ "symfony/var-dumper": "Required to use the dd function (^5.4).",
2386
+ "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
2387
+ },
2388
+ "type": "library",
2389
+ "extra": {
2390
+ "branch-alias": {
2391
+ "dev-master": "8.x-dev"
2392
+ }
2393
+ },
2394
+ "autoload": {
2395
+ "psr-4": {
2396
+ "Illuminate\\Support\\": ""
2397
+ },
2398
+ "files": [
2399
+ "helpers.php"
2400
+ ]
2401
+ },
2402
+ "notification-url": "https://packagist.org/downloads/",
2403
+ "license": [
2404
+ "MIT"
2405
+ ],
2406
+ "authors": [
2407
+ {
2408
+ "name": "Taylor Otwell",
2409
+ "email": "taylor@laravel.com"
2410
+ }
2411
+ ],
2412
+ "description": "The Illuminate Support package.",
2413
+ "homepage": "https://laravel.com",
2414
+ "support": {
2415
+ "issues": "https://github.com/laravel/framework/issues",
2416
+ "source": "https://github.com/laravel/framework"
2417
+ },
2418
+ "time": "2021-11-30T14:13:40+00:00"
2419
+ },
2420
+ {
2421
+ "name": "justinrainbow/json-schema",
2422
+ "version": "5.2.11",
2423
+ "source": {
2424
+ "type": "git",
2425
+ "url": "https://github.com/justinrainbow/json-schema.git",
2426
+ "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa"
2427
+ },
2428
+ "dist": {
2429
+ "type": "zip",
2430
+ "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ab6744b7296ded80f8cc4f9509abbff393399aa",
2431
+ "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa",
2432
+ "shasum": ""
2433
+ },
2434
+ "require": {
2435
+ "php": ">=5.3.3"
2436
+ },
2437
+ "require-dev": {
2438
+ "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
2439
+ "json-schema/json-schema-test-suite": "1.2.0",
2440
+ "phpunit/phpunit": "^4.8.35"
2441
+ },
2442
+ "bin": [
2443
+ "bin/validate-json"
2444
+ ],
2445
+ "type": "library",
2446
+ "extra": {
2447
+ "branch-alias": {
2448
+ "dev-master": "5.0.x-dev"
2449
+ }
2450
+ },
2451
+ "autoload": {
2452
+ "psr-4": {
2453
+ "JsonSchema\\": "src/JsonSchema/"
2454
+ }
2455
+ },
2456
+ "notification-url": "https://packagist.org/downloads/",
2457
+ "license": [
2458
+ "MIT"
2459
+ ],
2460
+ "authors": [
2461
+ {
2462
+ "name": "Bruno Prieto Reis",
2463
+ "email": "bruno.p.reis@gmail.com"
2464
+ },
2465
+ {
2466
+ "name": "Justin Rainbow",
2467
+ "email": "justin.rainbow@gmail.com"
2468
+ },
2469
+ {
2470
+ "name": "Igor Wiedler",
2471
+ "email": "igor@wiedler.ch"
2472
+ },
2473
+ {
2474
+ "name": "Robert Schönthal",
2475
+ "email": "seroscho@googlemail.com"
2476
+ }
2477
+ ],
2478
+ "description": "A library to validate a json schema.",
2479
+ "homepage": "https://github.com/justinrainbow/json-schema",
2480
+ "keywords": [
2481
+ "json",
2482
+ "schema"
2483
+ ],
2484
+ "support": {
2485
+ "issues": "https://github.com/justinrainbow/json-schema/issues",
2486
+ "source": "https://github.com/justinrainbow/json-schema/tree/5.2.11"
2487
+ },
2488
+ "time": "2021-07-22T09:24:00+00:00"
2489
+ },
2490
+ {
2491
+ "name": "league/container",
2492
+ "version": "3.4.1",
2493
+ "source": {
2494
+ "type": "git",
2495
+ "url": "https://github.com/thephpleague/container.git",
2496
+ "reference": "84ecbc2dbecc31bd23faf759a0e329ee49abddbd"
2497
+ },
2498
+ "dist": {
2499
+ "type": "zip",
2500
+ "url": "https://api.github.com/repos/thephpleague/container/zipball/84ecbc2dbecc31bd23faf759a0e329ee49abddbd",
2501
+ "reference": "84ecbc2dbecc31bd23faf759a0e329ee49abddbd",
2502
+ "shasum": ""
2503
+ },
2504
+ "require": {
2505
+ "php": "^7.0 || ^8.0",
2506
+ "psr/container": "^1.0.0"
2507
+ },
2508
+ "provide": {
2509
+ "psr/container-implementation": "^1.0"
2510
+ },
2511
+ "replace": {
2512
+ "orno/di": "~2.0"
2513
+ },
2514
+ "require-dev": {
2515
+ "phpunit/phpunit": "^6.0 || ^7.0",
2516
+ "roave/security-advisories": "dev-latest",
2517
+ "scrutinizer/ocular": "^1.8",
2518
+ "squizlabs/php_codesniffer": "^3.5"
2519
+ },
2520
+ "type": "library",
2521
+ "extra": {
2522
+ "branch-alias": {
2523
+ "dev-master": "3.x-dev",
2524
+ "dev-3.x": "3.x-dev",
2525
+ "dev-2.x": "2.x-dev",
2526
+ "dev-1.x": "1.x-dev"
2527
+ }
2528
+ },
2529
+ "autoload": {
2530
+ "psr-4": {
2531
+ "League\\Container\\": "src"
2532
+ }
2533
+ },
2534
+ "notification-url": "https://packagist.org/downloads/",
2535
+ "license": [
2536
+ "MIT"
2537
+ ],
2538
+ "authors": [
2539
+ {
2540
+ "name": "Phil Bennett",
2541
+ "email": "philipobenito@gmail.com",
2542
+ "homepage": "http://www.philipobenito.com",
2543
+ "role": "Developer"
2544
+ }
2545
+ ],
2546
+ "description": "A fast and intuitive dependency injection container.",
2547
+ "homepage": "https://github.com/thephpleague/container",
2548
+ "keywords": [
2549
+ "container",
2550
+ "dependency",
2551
+ "di",
2552
+ "injection",
2553
+ "league",
2554
+ "provider",
2555
+ "service"
2556
+ ],
2557
+ "support": {
2558
+ "issues": "https://github.com/thephpleague/container/issues",
2559
+ "source": "https://github.com/thephpleague/container/tree/3.4.1"
2560
+ },
2561
+ "funding": [
2562
+ {
2563
+ "url": "https://github.com/philipobenito",
2564
+ "type": "github"
2565
+ }
2566
+ ],
2567
+ "time": "2021-07-09T08:23:52+00:00"
2568
+ },
2569
+ {
2570
+ "name": "lucatume/wp-browser",
2571
+ "version": "3.0.14",
2572
+ "source": {
2573
+ "type": "git",
2574
+ "url": "https://github.com/lucatume/wp-browser.git",
2575
+ "reference": "1dae9e523bddd77c6d242c2033fd5616cdf6d375"
2576
+ },
2577
+ "dist": {
2578
+ "type": "zip",
2579
+ "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/1dae9e523bddd77c6d242c2033fd5616cdf6d375",
2580
+ "reference": "1dae9e523bddd77c6d242c2033fd5616cdf6d375",
2581
+ "shasum": ""
2582
+ },
2583
+ "require": {
2584
+ "antecedent/patchwork": "^2.0",
2585
+ "bordoni/phpass": "^0.3",
2586
+ "codeception/codeception": "^2.5 || ^3.0 || ^4.0",
2587
+ "dg/mysql-dump": "^1.3",
2588
+ "ext-fileinfo": "*",
2589
+ "ext-json": "*",
2590
+ "ext-pdo": "*",
2591
+ "mikehaertl/php-shellcommand": "^1.6",
2592
+ "mikemclin/laravel-wp-password": "~2.0.0",
2593
+ "php": ">=5.6.0",
2594
+ "vria/nodiacritic": "^0.1.2",
2595
+ "wp-cli/wp-cli": ">=2.0 <3.0.0",
2596
+ "zordius/lightncandy": "^1.2"
2597
+ },
2598
+ "require-dev": {
2599
+ "erusev/parsedown": "^1.7",
2600
+ "gumlet/php-image-resize": "^1.6",
2601
+ "lucatume/codeception-snapshot-assertions": "^0.2",
2602
+ "mikey179/vfsstream": "^1.6",
2603
+ "victorjonsson/markdowndocs": "dev-master",
2604
+ "vlucas/phpdotenv": "^3.0",
2605
+ "wp-cli/wp-cli-bundle": "*"
2606
+ },
2607
+ "suggest": {
2608
+ "codeception/module-asserts": "Codeception 4.0 compatibility.",
2609
+ "codeception/module-cli": "Codeception 4.0 compatibility; required by the WPCLI module.",
2610
+ "codeception/module-db": "Codeception 4.0 compatibility; required by the WPDb module.",
2611
+ "codeception/module-filesystem": "Codeception 4.0 compatibility; required by the WPFilesystem module.",
2612
+ "codeception/module-phpbrowser": "Codeception 4.0 compatibility; required by the WPBrowser module.",
2613
+ "codeception/module-webdriver": "Codeception 4.0 compatibility; required by the WPWebDriver module.",
2614
+ "codeception/util-universalframework": "Codeception 4.0 compatibility; required by the WordPress framework module.",
2615
+ "gumlet/php-image-resize": "To handle runtime image modification in the WPDb::haveAttachmentInDatabase method.",
2616
+ "vlucas/phpdotenv:^4.0": "To manage more complex environment file based configuration of the suites."
2617
+ },
2618
+ "type": "library",
2619
+ "extra": {
2620
+ "_hash": "484f861f69198089cab0e642f27e5653"
2621
+ },
2622
+ "autoload": {
2623
+ "psr-4": {
2624
+ "Codeception\\": "src/Codeception",
2625
+ "tad\\": "src/tad"
2626
+ },
2627
+ "files": [
2628
+ "src/tad/WPBrowser/utils.php",
2629
+ "src/tad/WPBrowser/wp-polyfills.php"
2630
+ ]
2631
+ },
2632
+ "notification-url": "https://packagist.org/downloads/",
2633
+ "license": [
2634
+ "MIT"
2635
+ ],
2636
+ "authors": [
2637
+ {
2638
+ "name": "theAverageDev (Luca Tumedei)",
2639
+ "email": "luca@theaveragedev.com",
2640
+ "homepage": "http://theaveragedev.com",
2641
+ "role": "Developer"
2642
+ }
2643
+ ],
2644
+ "description": "WordPress extension of the PhpBrowser class.",
2645
+ "homepage": "http://github.com/lucatume/wp-browser",
2646
+ "keywords": [
2647
+ "codeception",
2648
+ "wordpress"
2649
+ ],
2650
+ "support": {
2651
+ "issues": "https://github.com/lucatume/wp-browser/issues",
2652
+ "source": "https://github.com/lucatume/wp-browser/tree/3.0.14"
2653
+ },
2654
+ "funding": [
2655
+ {
2656
+ "url": "https://github.com/lucatume",
2657
+ "type": "github"
2658
+ }
2659
+ ],
2660
+ "time": "2021-11-26T11:14:22+00:00"
2661
+ },
2662
+ {
2663
+ "name": "mck89/peast",
2664
+ "version": "v1.13.9",
2665
+ "source": {
2666
+ "type": "git",
2667
+ "url": "https://github.com/mck89/peast.git",
2668
+ "reference": "5329e997fb50e0b82ca8f6e4164f92941f689b47"
2669
+ },
2670
+ "dist": {
2671
+ "type": "zip",
2672
+ "url": "https://api.github.com/repos/mck89/peast/zipball/5329e997fb50e0b82ca8f6e4164f92941f689b47",
2673
+ "reference": "5329e997fb50e0b82ca8f6e4164f92941f689b47",
2674
+ "shasum": ""
2675
+ },
2676
+ "require": {
2677
+ "php": ">=5.4.0"
2678
+ },
2679
+ "require-dev": {
2680
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
2681
+ },
2682
+ "type": "library",
2683
+ "extra": {
2684
+ "branch-alias": {
2685
+ "dev-master": "1.13.9-dev"
2686
+ }
2687
+ },
2688
+ "autoload": {
2689
+ "psr-4": {
2690
+ "Peast\\": "lib/Peast/",
2691
+ "Peast\\test\\": "test/Peast/"
2692
+ }
2693
+ },
2694
+ "notification-url": "https://packagist.org/downloads/",
2695
+ "license": [
2696
+ "BSD-3-Clause"
2697
+ ],
2698
+ "authors": [
2699
+ {
2700
+ "name": "Marco Marchiò",
2701
+ "email": "marco.mm89@gmail.com"
2702
+ }
2703
+ ],
2704
+ "description": "Peast is PHP library that generates AST for JavaScript code",
2705
+ "support": {
2706
+ "issues": "https://github.com/mck89/peast/issues",
2707
+ "source": "https://github.com/mck89/peast/tree/v1.13.9"
2708
+ },
2709
+ "time": "2021-11-12T13:44:49+00:00"
2710
+ },
2711
+ {
2712
+ "name": "mikehaertl/php-shellcommand",
2713
+ "version": "1.6.4",
2714
+ "source": {
2715
+ "type": "git",
2716
+ "url": "https://github.com/mikehaertl/php-shellcommand.git",
2717
+ "reference": "3488d7803df1e8f1a343d3d0ca452d527ad8d5e5"
2718
+ },
2719
+ "dist": {
2720
+ "type": "zip",
2721
+ "url": "https://api.github.com/repos/mikehaertl/php-shellcommand/zipball/3488d7803df1e8f1a343d3d0ca452d527ad8d5e5",
2722
+ "reference": "3488d7803df1e8f1a343d3d0ca452d527ad8d5e5",
2723
+ "shasum": ""
2724
+ },
2725
+ "require": {
2726
+ "php": ">= 5.3.0"
2727
+ },
2728
+ "require-dev": {
2729
+ "phpunit/phpunit": ">4.0 <=9.4"
2730
+ },
2731
+ "type": "library",
2732
+ "autoload": {
2733
+ "psr-4": {
2734
+ "mikehaertl\\shellcommand\\": "src/"
2735
+ }
2736
+ },
2737
+ "notification-url": "https://packagist.org/downloads/",
2738
+ "license": [
2739
+ "MIT"
2740
+ ],
2741
+ "authors": [
2742
+ {
2743
+ "name": "Michael Härtl",
2744
+ "email": "haertl.mike@gmail.com"
2745
+ }
2746
+ ],
2747
+ "description": "An object oriented interface to shell commands",
2748
+ "keywords": [
2749
+ "shell"
2750
+ ],
2751
+ "support": {
2752
+ "issues": "https://github.com/mikehaertl/php-shellcommand/issues",
2753
+ "source": "https://github.com/mikehaertl/php-shellcommand/tree/1.6.4"
2754
+ },
2755
+ "time": "2021-03-17T06:54:33+00:00"
2756
+ },
2757
+ {
2758
+ "name": "mikemclin/laravel-wp-password",
2759
+ "version": "2.0.3",
2760
+ "source": {
2761
+ "type": "git",
2762
+ "url": "https://github.com/mikemclin/laravel-wp-password.git",
2763
+ "reference": "5225c95f75aa0a5ad4040ec2074d1c8d7f10b5f4"
2764
+ },
2765
+ "dist": {
2766
+ "type": "zip",
2767
+ "url": "https://api.github.com/repos/mikemclin/laravel-wp-password/zipball/5225c95f75aa0a5ad4040ec2074d1c8d7f10b5f4",
2768
+ "reference": "5225c95f75aa0a5ad4040ec2074d1c8d7f10b5f4",
2769
+ "shasum": ""
2770
+ },
2771
+ "require": {
2772
+ "bordoni/phpass": "0.3.*",
2773
+ "illuminate/support": ">=4.0.0",
2774
+ "php": ">=5.3.0"
2775
+ },
2776
+ "replace": {
2777
+ "mikemclin/laravel-wp-password": "self.version"
2778
+ },
2779
+ "require-dev": {
2780
+ "mockery/mockery": "~0.9",
2781
+ "phpunit/phpunit": "~4.0",
2782
+ "satooshi/php-coveralls": "^2.2"
2783
+ },
2784
+ "type": "laravel-package",
2785
+ "extra": {
2786
+ "laravel": {
2787
+ "providers": [
2788
+ "MikeMcLin\\WpPassword\\WpPasswordProvider"
2789
+ ],
2790
+ "aliases": {
2791
+ "WpPassword": "MikeMcLin\\WpPassword\\Facades\\WpPassword"
2792
+ }
2793
+ }
2794
+ },
2795
+ "autoload": {
2796
+ "psr-4": {
2797
+ "MikeMcLin\\WpPassword\\": "src/"
2798
+ }
2799
+ },
2800
+ "notification-url": "https://packagist.org/downloads/",
2801
+ "license": [
2802
+ "MIT"
2803
+ ],
2804
+ "authors": [
2805
+ {
2806
+ "name": "Mike McLin",
2807
+ "email": "mike@mikemclin.com",
2808
+ "homepage": "http://mikemclin.net"
2809
+ }
2810
+ ],
2811
+ "description": "Laravel package that checks and creates WordPress password hashes",
2812
+ "homepage": "https://github.com/mikemclin/laravel-wp-password",
2813
+ "keywords": [
2814
+ "hashing",
2815
+ "laravel",
2816
+ "password",
2817
+ "wordpress"
2818
+ ],
2819
+ "support": {
2820
+ "issues": "https://github.com/mikemclin/laravel-wp-password/issues",
2821
+ "source": "https://github.com/mikemclin/laravel-wp-password/tree/2.0.3"
2822
+ },
2823
+ "time": "2021-09-30T13:48:57+00:00"
2824
+ },
2825
+ {
2826
+ "name": "mustache/mustache",
2827
+ "version": "v2.13.0",
2828
+ "source": {
2829
+ "type": "git",
2830
+ "url": "https://github.com/bobthecow/mustache.php.git",
2831
+ "reference": "e95c5a008c23d3151d59ea72484d4f72049ab7f4"
2832
+ },
2833
+ "dist": {
2834
+ "type": "zip",
2835
+ "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/e95c5a008c23d3151d59ea72484d4f72049ab7f4",
2836
+ "reference": "e95c5a008c23d3151d59ea72484d4f72049ab7f4",
2837
+ "shasum": ""
2838
+ },
2839
+ "require": {
2840
+ "php": ">=5.2.4"
2841
+ },
2842
+ "require-dev": {
2843
+ "friendsofphp/php-cs-fixer": "~1.11",
2844
+ "phpunit/phpunit": "~3.7|~4.0|~5.0"
2845
+ },
2846
+ "type": "library",
2847
+ "autoload": {
2848
+ "psr-0": {
2849
+ "Mustache": "src/"
2850
+ }
2851
+ },
2852
+ "notification-url": "https://packagist.org/downloads/",
2853
+ "license": [
2854
+ "MIT"
2855
+ ],
2856
+ "authors": [
2857
+ {
2858
+ "name": "Justin Hileman",
2859
+ "email": "justin@justinhileman.info",
2860
+ "homepage": "http://justinhileman.com"
2861
+ }
2862
+ ],
2863
+ "description": "A Mustache implementation in PHP.",
2864
+ "homepage": "https://github.com/bobthecow/mustache.php",
2865
+ "keywords": [
2866
+ "mustache",
2867
+ "templating"
2868
+ ],
2869
+ "support": {
2870
+ "issues": "https://github.com/bobthecow/mustache.php/issues",
2871
+ "source": "https://github.com/bobthecow/mustache.php/tree/master"
2872
+ },
2873
+ "time": "2019-11-23T21:40:31+00:00"
2874
+ },
2875
+ {
2876
+ "name": "myclabs/deep-copy",
2877
+ "version": "1.10.2",
2878
+ "source": {
2879
+ "type": "git",
2880
+ "url": "https://github.com/myclabs/DeepCopy.git",
2881
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
2882
+ },
2883
+ "dist": {
2884
+ "type": "zip",
2885
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
2886
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
2887
+ "shasum": ""
2888
+ },
2889
+ "require": {
2890
+ "php": "^7.1 || ^8.0"
2891
+ },
2892
+ "replace": {
2893
+ "myclabs/deep-copy": "self.version"
2894
+ },
2895
+ "require-dev": {
2896
+ "doctrine/collections": "^1.0",
2897
+ "doctrine/common": "^2.6",
2898
+ "phpunit/phpunit": "^7.1"
2899
+ },
2900
+ "type": "library",
2901
+ "autoload": {
2902
+ "psr-4": {
2903
+ "DeepCopy\\": "src/DeepCopy/"
2904
+ },
2905
+ "files": [
2906
+ "src/DeepCopy/deep_copy.php"
2907
+ ]
2908
+ },
2909
+ "notification-url": "https://packagist.org/downloads/",
2910
+ "license": [
2911
+ "MIT"
2912
+ ],
2913
+ "description": "Create deep copies (clones) of your objects",
2914
+ "keywords": [
2915
+ "clone",
2916
+ "copy",
2917
+ "duplicate",
2918
+ "object",
2919
+ "object graph"
2920
+ ],
2921
+ "support": {
2922
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
2923
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
2924
+ },
2925
+ "funding": [
2926
+ {
2927
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
2928
+ "type": "tidelift"
2929
+ }
2930
+ ],
2931
+ "time": "2020-11-13T09:40:50+00:00"
2932
+ },
2933
+ {
2934
+ "name": "n98/junit-xml",
2935
+ "version": "1.1.0",
2936
+ "source": {
2937
+ "type": "git",
2938
+ "url": "https://github.com/cmuench/junit-xml.git",
2939
+ "reference": "0017dd92ac8cb619f02e32f4cffd768cfe327c73"
2940
+ },
2941
+ "dist": {
2942
+ "type": "zip",
2943
+ "url": "https://api.github.com/repos/cmuench/junit-xml/zipball/0017dd92ac8cb619f02e32f4cffd768cfe327c73",
2944
+ "reference": "0017dd92ac8cb619f02e32f4cffd768cfe327c73",
2945
+ "shasum": ""
2946
+ },
2947
+ "require-dev": {
2948
+ "phpunit/phpunit": "^9.5.0"
2949
+ },
2950
+ "type": "library",
2951
+ "autoload": {
2952
+ "psr-4": {
2953
+ "N98\\JUnitXml\\": "src/N98/JUnitXml"
2954
+ }
2955
+ },
2956
+ "notification-url": "https://packagist.org/downloads/",
2957
+ "license": [
2958
+ "MIT"
2959
+ ],
2960
+ "authors": [
2961
+ {
2962
+ "name": "Christian Münch",
2963
+ "email": "c.muench@netz98.de"
2964
+ }
2965
+ ],
2966
+ "description": "JUnit XML Document generation library",
2967
+ "support": {
2968
+ "issues": "https://github.com/cmuench/junit-xml/issues",
2969
+ "source": "https://github.com/cmuench/junit-xml/tree/1.1.0"
2970
+ },
2971
+ "time": "2020-12-25T09:08:58+00:00"
2972
+ },
2973
+ {
2974
+ "name": "nelexa/zip",
2975
+ "version": "3.3.3",
2976
+ "source": {
2977
+ "type": "git",
2978
+ "url": "https://github.com/Ne-Lexa/php-zip.git",
2979
+ "reference": "501b52f6fc393a599b44ff348a42740e1eaac7c6"
2980
+ },
2981
+ "dist": {
2982
+ "type": "zip",
2983
+ "url": "https://api.github.com/repos/Ne-Lexa/php-zip/zipball/501b52f6fc393a599b44ff348a42740e1eaac7c6",
2984
+ "reference": "501b52f6fc393a599b44ff348a42740e1eaac7c6",
2985
+ "shasum": ""
2986
+ },
2987
+ "require": {
2988
+ "ext-zlib": "*",
2989
+ "paragonie/random_compat": "*",
2990
+ "php": "^5.5.9 || ^7.0",
2991
+ "psr/http-message": "^1.0",
2992
+ "symfony/finder": "^3.0|^4.0|^5.0"
2993
+ },
2994
+ "require-dev": {
2995
+ "ext-bz2": "*",
2996
+ "ext-fileinfo": "*",
2997
+ "ext-openssl": "*",
2998
+ "ext-xml": "*",
2999
+ "guzzlehttp/psr7": "^1.6",
3000
+ "phpunit/phpunit": "^4.8|^5.7",
3001
+ "symfony/var-dumper": "^3.0|^4.0|^5.0"
3002
+ },
3003
+ "suggest": {
3004
+ "ext-bz2": "Needed to support BZIP2 compression",
3005
+ "ext-fileinfo": "Needed to get mime-type file",
3006
+ "ext-mcrypt": "Needed to support encrypt zip entries or use ext-openssl",
3007
+ "ext-openssl": "Needed to support encrypt zip entries or use ext-mcrypt"
3008
+ },
3009
+ "type": "library",
3010
+ "autoload": {
3011
+ "psr-4": {
3012
+ "PhpZip\\": "src/"
3013
+ }
3014
+ },
3015
+ "notification-url": "https://packagist.org/downloads/",
3016
+ "license": [
3017
+ "MIT"
3018
+ ],
3019
+ "authors": [
3020
+ {
3021
+ "name": "Ne-Lexa",
3022
+ "email": "alexey@nelexa.ru",
3023
+ "role": "Developer"
3024
+ }
3025
+ ],
3026
+ "description": "PhpZip is a php-library for extended work with ZIP-archives. Open, create, update, delete, extract and get info tool. Supports appending to existing ZIP files, WinZip AES encryption, Traditional PKWARE Encryption, ZipAlign tool, BZIP2 compression, external file attributes and ZIP64 extensions. Alternative ZipArchive. It does not require php-zip extension.",
3027
+ "homepage": "https://github.com/Ne-Lexa/php-zip",
3028
+ "keywords": [
3029
+ "archive",
3030
+ "extract",
3031
+ "unzip",
3032
+ "winzip",
3033
+ "zip",
3034
+ "zipalign",
3035
+ "ziparchive"
3036
+ ],
3037
+ "support": {
3038
+ "issues": "https://github.com/Ne-Lexa/php-zip/issues",
3039
+ "source": "https://github.com/Ne-Lexa/php-zip/tree/3.3.3"
3040
+ },
3041
+ "time": "2020-07-11T21:01:42+00:00"
3042
+ },
3043
+ {
3044
+ "name": "nesbot/carbon",
3045
+ "version": "2.54.0",
3046
+ "source": {
3047
+ "type": "git",
3048
+ "url": "https://github.com/briannesbitt/Carbon.git",
3049
+ "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5"
3050
+ },
3051
+ "dist": {
3052
+ "type": "zip",
3053
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5",
3054
+ "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5",
3055
+ "shasum": ""
3056
+ },
3057
+ "require": {
3058
+ "ext-json": "*",
3059
+ "php": "^7.1.8 || ^8.0",
3060
+ "symfony/polyfill-mbstring": "^1.0",
3061
+ "symfony/polyfill-php80": "^1.16",
3062
+ "symfony/translation": "^3.4 || ^4.0 || ^5.0"
3063
+ },
3064
+ "require-dev": {
3065
+ "doctrine/dbal": "^2.0 || ^3.0",
3066
+ "doctrine/orm": "^2.7",
3067
+ "friendsofphp/php-cs-fixer": "^3.0",
3068
+ "kylekatarnls/multi-tester": "^2.0",
3069
+ "phpmd/phpmd": "^2.9",
3070
+ "phpstan/extension-installer": "^1.0",
3071
+ "phpstan/phpstan": "^0.12.54",
3072
+ "phpunit/phpunit": "^7.5.20 || ^8.5.14",
3073
+ "squizlabs/php_codesniffer": "^3.4"
3074
+ },
3075
+ "bin": [
3076
+ "bin/carbon"
3077
+ ],
3078
+ "type": "library",
3079
+ "extra": {
3080
+ "branch-alias": {
3081
+ "dev-3.x": "3.x-dev",
3082
+ "dev-master": "2.x-dev"
3083
+ },
3084
+ "laravel": {
3085
+ "providers": [
3086
+ "Carbon\\Laravel\\ServiceProvider"
3087
+ ]
3088
+ },
3089
+ "phpstan": {
3090
+ "includes": [
3091
+ "extension.neon"
3092
+ ]
3093
+ }
3094
+ },
3095
+ "autoload": {
3096
+ "psr-4": {
3097
+ "Carbon\\": "src/Carbon/"
3098
+ }
3099
+ },
3100
+ "notification-url": "https://packagist.org/downloads/",
3101
+ "license": [
3102
+ "MIT"
3103
+ ],
3104
+ "authors": [
3105
+ {
3106
+ "name": "Brian Nesbitt",
3107
+ "email": "brian@nesbot.com",
3108
+ "homepage": "https://markido.com"
3109
+ },
3110
+ {
3111
+ "name": "kylekatarnls",
3112
+ "homepage": "https://github.com/kylekatarnls"
3113
+ }
3114
+ ],
3115
+ "description": "An API extension for DateTime that supports 281 different languages.",
3116
+ "homepage": "https://carbon.nesbot.com",
3117
+ "keywords": [
3118
+ "date",
3119
+ "datetime",
3120
+ "time"
3121
+ ],
3122
+ "support": {
3123
+ "issues": "https://github.com/briannesbitt/Carbon/issues",
3124
+ "source": "https://github.com/briannesbitt/Carbon"
3125
+ },
3126
+ "funding": [
3127
+ {
3128
+ "url": "https://opencollective.com/Carbon",
3129
+ "type": "open_collective"
3130
+ },
3131
+ {
3132
+ "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
3133
+ "type": "tidelift"
3134
+ }
3135
+ ],
3136
+ "time": "2021-11-01T21:22:20+00:00"
3137
+ },
3138
+ {
3139
+ "name": "overtrue/phplint",
3140
+ "version": "2.4.1",
3141
+ "source": {
3142
+ "type": "git",
3143
+ "url": "https://github.com/overtrue/phplint.git",
3144
+ "reference": "59affacd0b09a1460e39acf2c64c963ddbf734cf"
3145
+ },
3146
+ "dist": {
3147
+ "type": "zip",
3148
+ "url": "https://api.github.com/repos/overtrue/phplint/zipball/59affacd0b09a1460e39acf2c64c963ddbf734cf",
3149
+ "reference": "59affacd0b09a1460e39acf2c64c963ddbf734cf",
3150
+ "shasum": ""
3151
+ },
3152
+ "require": {
3153
+ "ext-json": "*",
3154
+ "n98/junit-xml": "1.1.0",
3155
+ "php": ">=5.5.9",
3156
+ "symfony/console": "^3.2|^4.0|^5.0",
3157
+ "symfony/finder": "^3.0|^4.0|^5.0",
3158
+ "symfony/process": "^3.3|^4.0|^5.0",
3159
+ "symfony/yaml": "^3.0|^4.0|^5.0"
3160
+ },
3161
+ "require-dev": {
3162
+ "brainmaestro/composer-git-hooks": "^2.7",
3163
+ "friendsofphp/php-cs-fixer": "^2.16",
3164
+ "jakub-onderka/php-console-highlighter": "^0.3.2 || ^0.4"
3165
+ },
3166
+ "bin": [
3167
+ "bin/phplint"
3168
+ ],
3169
+ "type": "library",
3170
+ "extra": {
3171
+ "hooks": {
3172
+ "pre-commit": [
3173
+ "composer fix-style"
3174
+ ],
3175
+ "pre-push": [
3176
+ "composer check-style"
3177
+ ]
3178
+ }
3179
+ },
3180
+ "autoload": {
3181
+ "psr-4": {
3182
+ "Overtrue\\PHPLint\\": "src/"
3183
+ }
3184
+ },
3185
+ "notification-url": "https://packagist.org/downloads/",
3186
+ "license": [
3187
+ "MIT"
3188
+ ],
3189
+ "authors": [
3190
+ {
3191
+ "name": "overtrue",
3192
+ "email": "anzhengchao@gmail.com"
3193
+ }
3194
+ ],
3195
+ "description": "`phplint` is a tool that can speed up linting of php files by running several lint processes at once.",
3196
+ "keywords": [
3197
+ "check",
3198
+ "lint",
3199
+ "phplint",
3200
+ "syntax"
3201
+ ],
3202
+ "support": {
3203
+ "issues": "https://github.com/overtrue/phplint/issues",
3204
+ "source": "https://github.com/overtrue/phplint/tree/2.4.1"
3205
+ },
3206
+ "time": "2021-06-02T16:18:33+00:00"
3207
+ },
3208
+ {
3209
+ "name": "paragonie/random_compat",
3210
+ "version": "v9.99.100",
3211
+ "source": {
3212
+ "type": "git",
3213
+ "url": "https://github.com/paragonie/random_compat.git",
3214
+ "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a"
3215
+ },
3216
+ "dist": {
3217
+ "type": "zip",
3218
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a",
3219
+ "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a",
3220
+ "shasum": ""
3221
+ },
3222
+ "require": {
3223
+ "php": ">= 7"
3224
+ },
3225
+ "require-dev": {
3226
+ "phpunit/phpunit": "4.*|5.*",
3227
+ "vimeo/psalm": "^1"
3228
+ },
3229
+ "suggest": {
3230
+ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
3231
+ },
3232
+ "type": "library",
3233
+ "notification-url": "https://packagist.org/downloads/",
3234
+ "license": [
3235
+ "MIT"
3236
+ ],
3237
+ "authors": [
3238
+ {
3239
+ "name": "Paragon Initiative Enterprises",
3240
+ "email": "security@paragonie.com",
3241
+ "homepage": "https://paragonie.com"
3242
+ }
3243
+ ],
3244
+ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
3245
+ "keywords": [
3246
+ "csprng",
3247
+ "polyfill",
3248
+ "pseudorandom",
3249
+ "random"
3250
+ ],
3251
+ "support": {
3252
+ "email": "info@paragonie.com",
3253
+ "issues": "https://github.com/paragonie/random_compat/issues",
3254
+ "source": "https://github.com/paragonie/random_compat"
3255
+ },
3256
+ "time": "2020-10-15T08:29:30+00:00"
3257
+ },
3258
+ {
3259
+ "name": "pdepend/pdepend",
3260
+ "version": "2.10.2",
3261
+ "source": {
3262
+ "type": "git",
3263
+ "url": "https://github.com/pdepend/pdepend.git",
3264
+ "reference": "c8c1d2af43fb8c2b5387d50e9c42a9c56de13686"
3265
+ },
3266
+ "dist": {
3267
+ "type": "zip",
3268
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/c8c1d2af43fb8c2b5387d50e9c42a9c56de13686",
3269
+ "reference": "c8c1d2af43fb8c2b5387d50e9c42a9c56de13686",
3270
+ "shasum": ""
3271
+ },
3272
+ "require": {
3273
+ "php": ">=5.3.7",
3274
+ "symfony/config": "^2.3.0|^3|^4|^5",
3275
+ "symfony/dependency-injection": "^2.3.0|^3|^4|^5",
3276
+ "symfony/filesystem": "^2.3.0|^3|^4|^5"
3277
+ },
3278
+ "require-dev": {
3279
+ "easy-doc/easy-doc": "0.0.0|^1.2.3",
3280
+ "gregwar/rst": "^1.0",
3281
+ "phpunit/phpunit": "^4.8.36|^5.7.27",
3282
+ "squizlabs/php_codesniffer": "^2.0.0"
3283
+ },
3284
+ "bin": [
3285
+ "src/bin/pdepend"
3286
+ ],
3287
+ "type": "library",
3288
+ "extra": {
3289
+ "branch-alias": {
3290
+ "dev-master": "2.x-dev"
3291
+ }
3292
+ },
3293
+ "autoload": {
3294
+ "psr-4": {
3295
+ "PDepend\\": "src/main/php/PDepend"
3296
+ }
3297
+ },
3298
+ "notification-url": "https://packagist.org/downloads/",
3299
+ "license": [
3300
+ "BSD-3-Clause"
3301
+ ],
3302
+ "description": "Official version of pdepend to be handled with Composer",
3303
+ "support": {
3304
+ "issues": "https://github.com/pdepend/pdepend/issues",
3305
+ "source": "https://github.com/pdepend/pdepend/tree/2.10.2"
3306
+ },
3307
+ "funding": [
3308
+ {
3309
+ "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend",
3310
+ "type": "tidelift"
3311
+ }
3312
+ ],
3313
+ "time": "2021-11-16T20:05:32+00:00"
3314
+ },
3315
+ {
3316
+ "name": "phar-io/manifest",
3317
+ "version": "1.0.3",
3318
+ "source": {
3319
+ "type": "git",
3320
+ "url": "https://github.com/phar-io/manifest.git",
3321
+ "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
3322
+ },
3323
+ "dist": {
3324
+ "type": "zip",
3325
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
3326
+ "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
3327
+ "shasum": ""
3328
+ },
3329
+ "require": {
3330
+ "ext-dom": "*",
3331
+ "ext-phar": "*",
3332
+ "phar-io/version": "^2.0",
3333
+ "php": "^5.6 || ^7.0"
3334
+ },
3335
+ "type": "library",
3336
+ "extra": {
3337
+ "branch-alias": {
3338
+ "dev-master": "1.0.x-dev"
3339
+ }
3340
+ },
3341
+ "autoload": {
3342
+ "classmap": [
3343
+ "src/"
3344
+ ]
3345
+ },
3346
+ "notification-url": "https://packagist.org/downloads/",
3347
+ "license": [
3348
+ "BSD-3-Clause"
3349
+ ],
3350
+ "authors": [
3351
+ {
3352
+ "name": "Arne Blankerts",
3353
+ "email": "arne@blankerts.de",
3354
+ "role": "Developer"
3355
+ },
3356
+ {
3357
+ "name": "Sebastian Heuer",
3358
+ "email": "sebastian@phpeople.de",
3359
+ "role": "Developer"
3360
+ },
3361
+ {
3362
+ "name": "Sebastian Bergmann",
3363
+ "email": "sebastian@phpunit.de",
3364
+ "role": "Developer"
3365
+ }
3366
+ ],
3367
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
3368
+ "support": {
3369
+ "issues": "https://github.com/phar-io/manifest/issues",
3370
+ "source": "https://github.com/phar-io/manifest/tree/master"
3371
+ },
3372
+ "time": "2018-07-08T19:23:20+00:00"
3373
+ },
3374
+ {
3375
+ "name": "phar-io/version",
3376
+ "version": "2.0.1",
3377
+ "source": {
3378
+ "type": "git",
3379
+ "url": "https://github.com/phar-io/version.git",
3380
+ "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
3381
+ },
3382
+ "dist": {
3383
+ "type": "zip",
3384
+ "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
3385
+ "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
3386
+ "shasum": ""
3387
+ },
3388
+ "require": {
3389
+ "php": "^5.6 || ^7.0"
3390
+ },
3391
+ "type": "library",
3392
+ "autoload": {
3393
+ "classmap": [
3394
+ "src/"
3395
+ ]
3396
+ },
3397
+ "notification-url": "https://packagist.org/downloads/",
3398
+ "license": [
3399
+ "BSD-3-Clause"
3400
+ ],
3401
+ "authors": [
3402
+ {
3403
+ "name": "Arne Blankerts",
3404
+ "email": "arne@blankerts.de",
3405
+ "role": "Developer"
3406
+ },
3407
+ {
3408
+ "name": "Sebastian Heuer",
3409
+ "email": "sebastian@phpeople.de",
3410
+ "role": "Developer"
3411
+ },
3412
+ {
3413
+ "name": "Sebastian Bergmann",
3414
+ "email": "sebastian@phpunit.de",
3415
+ "role": "Developer"
3416
+ }
3417
+ ],
3418
+ "description": "Library for handling version information and constraints",
3419
+ "support": {
3420
+ "issues": "https://github.com/phar-io/version/issues",
3421
+ "source": "https://github.com/phar-io/version/tree/master"
3422
+ },
3423
+ "time": "2018-07-08T19:19:57+00:00"
3424
+ },
3425
+ {
3426
+ "name": "php-webdriver/webdriver",
3427
+ "version": "1.12.0",
3428
+ "source": {
3429
+ "type": "git",
3430
+ "url": "https://github.com/php-webdriver/php-webdriver.git",
3431
+ "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb"
3432
+ },
3433
+ "dist": {
3434
+ "type": "zip",
3435
+ "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/99d4856ed7dffcdf6a52eccd6551e83d8d557ceb",
3436
+ "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb",
3437
+ "shasum": ""
3438
+ },
3439
+ "require": {
3440
+ "ext-curl": "*",
3441
+ "ext-json": "*",
3442
+ "ext-zip": "*",
3443
+ "php": "^5.6 || ~7.0 || ^8.0",
3444
+ "symfony/polyfill-mbstring": "^1.12",
3445
+ "symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0 || ^6.0"
3446
+ },
3447
+ "replace": {
3448
+ "facebook/webdriver": "*"
3449
+ },
3450
+ "require-dev": {
3451
+ "ondram/ci-detector": "^2.1 || ^3.5 || ^4.0",
3452
+ "php-coveralls/php-coveralls": "^2.4",
3453
+ "php-mock/php-mock-phpunit": "^1.1 || ^2.0",
3454
+ "php-parallel-lint/php-parallel-lint": "^1.2",
3455
+ "phpunit/phpunit": "^5.7 || ^7 || ^8 || ^9",
3456
+ "squizlabs/php_codesniffer": "^3.5",
3457
+ "symfony/var-dumper": "^3.3 || ^4.0 || ^5.0 || ^6.0"
3458
+ },
3459
+ "suggest": {
3460
+ "ext-SimpleXML": "For Firefox profile creation"
3461
+ },
3462
+ "type": "library",
3463
+ "autoload": {
3464
+ "psr-4": {
3465
+ "Facebook\\WebDriver\\": "lib/"
3466
+ },
3467
+ "files": [
3468
+ "lib/Exception/TimeoutException.php"
3469
+ ]
3470
+ },
3471
+ "notification-url": "https://packagist.org/downloads/",
3472
+ "license": [
3473
+ "MIT"
3474
+ ],
3475
+ "description": "A PHP client for Selenium WebDriver. Previously facebook/webdriver.",
3476
+ "homepage": "https://github.com/php-webdriver/php-webdriver",
3477
+ "keywords": [
3478
+ "Chromedriver",
3479
+ "geckodriver",
3480
+ "php",
3481
+ "selenium",
3482
+ "webdriver"
3483
+ ],
3484
+ "support": {
3485
+ "issues": "https://github.com/php-webdriver/php-webdriver/issues",
3486
+ "source": "https://github.com/php-webdriver/php-webdriver/tree/1.12.0"
3487
+ },
3488
+ "time": "2021-10-14T09:30:02+00:00"
3489
+ },
3490
+ {
3491
+ "name": "phpdocumentor/reflection-common",
3492
+ "version": "2.2.0",
3493
+ "source": {
3494
+ "type": "git",
3495
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
3496
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
3497
+ },
3498
+ "dist": {
3499
+ "type": "zip",
3500
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
3501
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
3502
+ "shasum": ""
3503
+ },
3504
+ "require": {
3505
+ "php": "^7.2 || ^8.0"
3506
+ },
3507
+ "type": "library",
3508
+ "extra": {
3509
+ "branch-alias": {
3510
+ "dev-2.x": "2.x-dev"
3511
+ }
3512
+ },
3513
+ "autoload": {
3514
+ "psr-4": {
3515
+ "phpDocumentor\\Reflection\\": "src/"
3516
+ }
3517
+ },
3518
+ "notification-url": "https://packagist.org/downloads/",
3519
+ "license": [
3520
+ "MIT"
3521
+ ],
3522
+ "authors": [
3523
+ {
3524
+ "name": "Jaap van Otterdijk",
3525
+ "email": "opensource@ijaap.nl"
3526
+ }
3527
+ ],
3528
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
3529
+ "homepage": "http://www.phpdoc.org",
3530
+ "keywords": [
3531
+ "FQSEN",
3532
+ "phpDocumentor",
3533
+ "phpdoc",
3534
+ "reflection",
3535
+ "static analysis"
3536
+ ],
3537
+ "support": {
3538
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
3539
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
3540
+ },
3541
+ "time": "2020-06-27T09:03:43+00:00"
3542
+ },
3543
+ {
3544
+ "name": "phpdocumentor/reflection-docblock",
3545
+ "version": "5.3.0",
3546
+ "source": {
3547
+ "type": "git",
3548
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
3549
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
3550
+ },
3551
+ "dist": {
3552
+ "type": "zip",
3553
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
3554
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
3555
+ "shasum": ""
3556
+ },
3557
+ "require": {
3558
+ "ext-filter": "*",
3559
+ "php": "^7.2 || ^8.0",
3560
+ "phpdocumentor/reflection-common": "^2.2",
3561
+ "phpdocumentor/type-resolver": "^1.3",
3562
+ "webmozart/assert": "^1.9.1"
3563
+ },
3564
+ "require-dev": {
3565
+ "mockery/mockery": "~1.3.2",
3566
+ "psalm/phar": "^4.8"
3567
+ },
3568
+ "type": "library",
3569
+ "extra": {
3570
+ "branch-alias": {
3571
+ "dev-master": "5.x-dev"
3572
+ }
3573
+ },
3574
+ "autoload": {
3575
+ "psr-4": {
3576
+ "phpDocumentor\\Reflection\\": "src"
3577
+ }
3578
+ },
3579
+ "notification-url": "https://packagist.org/downloads/",
3580
+ "license": [
3581
+ "MIT"
3582
+ ],
3583
+ "authors": [
3584
+ {
3585
+ "name": "Mike van Riel",
3586
+ "email": "me@mikevanriel.com"
3587
+ },
3588
+ {
3589
+ "name": "Jaap van Otterdijk",
3590
+ "email": "account@ijaap.nl"
3591
+ }
3592
+ ],
3593
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
3594
+ "support": {
3595
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
3596
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
3597
+ },
3598
+ "time": "2021-10-19T17:43:47+00:00"
3599
+ },
3600
+ {
3601
+ "name": "phpdocumentor/type-resolver",
3602
+ "version": "1.5.1",
3603
+ "source": {
3604
+ "type": "git",
3605
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
3606
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
3607
+ },
3608
+ "dist": {
3609
+ "type": "zip",
3610
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
3611
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
3612
+ "shasum": ""
3613
+ },
3614
+ "require": {
3615
+ "php": "^7.2 || ^8.0",
3616
+ "phpdocumentor/reflection-common": "^2.0"
3617
+ },
3618
+ "require-dev": {
3619
+ "ext-tokenizer": "*",
3620
+ "psalm/phar": "^4.8"
3621
+ },
3622
+ "type": "library",
3623
+ "extra": {
3624
+ "branch-alias": {
3625
+ "dev-1.x": "1.x-dev"
3626
+ }
3627
+ },
3628
+ "autoload": {
3629
+ "psr-4": {
3630
+ "phpDocumentor\\Reflection\\": "src"
3631
+ }
3632
+ },
3633
+ "notification-url": "https://packagist.org/downloads/",
3634
+ "license": [
3635
+ "MIT"
3636
+ ],
3637
+ "authors": [
3638
+ {
3639
+ "name": "Mike van Riel",
3640
+ "email": "me@mikevanriel.com"
3641
+ }
3642
+ ],
3643
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
3644
+ "support": {
3645
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
3646
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
3647
+ },
3648
+ "time": "2021-10-02T14:08:47+00:00"
3649
+ },
3650
+ {
3651
+ "name": "phpmd/phpmd",
3652
+ "version": "2.11.0",
3653
+ "source": {
3654
+ "type": "git",
3655
+ "url": "https://github.com/phpmd/phpmd.git",
3656
+ "reference": "3637949092e6471aeaeca66bc6c016f45e459e24"
3657
+ },
3658
+ "dist": {
3659
+ "type": "zip",
3660
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/3637949092e6471aeaeca66bc6c016f45e459e24",
3661
+ "reference": "3637949092e6471aeaeca66bc6c016f45e459e24",
3662
+ "shasum": ""
3663
+ },
3664
+ "require": {
3665
+ "composer/xdebug-handler": "^1.0 || ^2.0",
3666
+ "ext-xml": "*",
3667
+ "pdepend/pdepend": "^2.10.2",
3668
+ "php": ">=5.3.9"
3669
+ },
3670
+ "require-dev": {
3671
+ "easy-doc/easy-doc": "0.0.0 || ^1.3.2",
3672
+ "ext-json": "*",
3673
+ "ext-simplexml": "*",
3674
+ "gregwar/rst": "^1.0",
3675
+ "mikey179/vfsstream": "^1.6.8",
3676
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27",
3677
+ "squizlabs/php_codesniffer": "^2.0"
3678
+ },
3679
+ "bin": [
3680
+ "src/bin/phpmd"
3681
+ ],
3682
+ "type": "library",
3683
+ "autoload": {
3684
+ "psr-0": {
3685
+ "PHPMD\\": "src/main/php"
3686
+ }
3687
+ },
3688
+ "notification-url": "https://packagist.org/downloads/",
3689
+ "license": [
3690
+ "BSD-3-Clause"
3691
+ ],
3692
+ "authors": [
3693
+ {
3694
+ "name": "Manuel Pichler",
3695
+ "email": "github@manuel-pichler.de",
3696
+ "homepage": "https://github.com/manuelpichler",
3697
+ "role": "Project Founder"
3698
+ },
3699
+ {
3700
+ "name": "Marc Würth",
3701
+ "email": "ravage@bluewin.ch",
3702
+ "homepage": "https://github.com/ravage84",
3703
+ "role": "Project Maintainer"
3704
+ },
3705
+ {
3706
+ "name": "Other contributors",
3707
+ "homepage": "https://github.com/phpmd/phpmd/graphs/contributors",
3708
+ "role": "Contributors"
3709
+ }
3710
+ ],
3711
+ "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
3712
+ "homepage": "https://phpmd.org/",
3713
+ "keywords": [
3714
+ "mess detection",
3715
+ "mess detector",
3716
+ "pdepend",
3717
+ "phpmd",
3718
+ "pmd"
3719
+ ],
3720
+ "support": {
3721
+ "irc": "irc://irc.freenode.org/phpmd",
3722
+ "issues": "https://github.com/phpmd/phpmd/issues",
3723
+ "source": "https://github.com/phpmd/phpmd/tree/2.11.0"
3724
+ },
3725
+ "funding": [
3726
+ {
3727
+ "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd",
3728
+ "type": "tidelift"
3729
+ }
3730
+ ],
3731
+ "time": "2021-11-29T14:05:52+00:00"
3732
+ },
3733
+ {
3734
+ "name": "phpspec/prophecy",
3735
+ "version": "1.14.0",
3736
+ "source": {
3737
+ "type": "git",
3738
+ "url": "https://github.com/phpspec/prophecy.git",
3739
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e"
3740
+ },
3741
+ "dist": {
3742
+ "type": "zip",
3743
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
3744
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
3745
+ "shasum": ""
3746
+ },
3747
+ "require": {
3748
+ "doctrine/instantiator": "^1.2",
3749
+ "php": "^7.2 || ~8.0, <8.2",
3750
+ "phpdocumentor/reflection-docblock": "^5.2",
3751
+ "sebastian/comparator": "^3.0 || ^4.0",
3752
+ "sebastian/recursion-context": "^3.0 || ^4.0"
3753
+ },
3754
+ "require-dev": {
3755
+ "phpspec/phpspec": "^6.0 || ^7.0",
3756
+ "phpunit/phpunit": "^8.0 || ^9.0"
3757
+ },
3758
+ "type": "library",
3759
+ "extra": {
3760
+ "branch-alias": {
3761
+ "dev-master": "1.x-dev"
3762
+ }
3763
+ },
3764
+ "autoload": {
3765
+ "psr-4": {
3766
+ "Prophecy\\": "src/Prophecy"
3767
+ }
3768
+ },
3769
+ "notification-url": "https://packagist.org/downloads/",
3770
+ "license": [
3771
+ "MIT"
3772
+ ],
3773
+ "authors": [
3774
+ {
3775
+ "name": "Konstantin Kudryashov",
3776
+ "email": "ever.zet@gmail.com",
3777
+ "homepage": "http://everzet.com"
3778
+ },
3779
+ {
3780
+ "name": "Marcello Duarte",
3781
+ "email": "marcello.duarte@gmail.com"
3782
+ }
3783
+ ],
3784
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
3785
+ "homepage": "https://github.com/phpspec/prophecy",
3786
+ "keywords": [
3787
+ "Double",
3788
+ "Dummy",
3789
+ "fake",
3790
+ "mock",
3791
+ "spy",
3792
+ "stub"
3793
+ ],
3794
+ "support": {
3795
+ "issues": "https://github.com/phpspec/prophecy/issues",
3796
+ "source": "https://github.com/phpspec/prophecy/tree/1.14.0"
3797
+ },
3798
+ "time": "2021-09-10T09:02:12+00:00"
3799
+ },
3800
+ {
3801
+ "name": "phpunit/php-code-coverage",
3802
+ "version": "8.0.2",
3803
+ "source": {
3804
+ "type": "git",
3805
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
3806
+ "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc"
3807
+ },
3808
+ "dist": {
3809
+ "type": "zip",
3810
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca6647ffddd2add025ab3f21644a441d7c146cdc",
3811
+ "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc",
3812
+ "shasum": ""
3813
+ },
3814
+ "require": {
3815
+ "ext-dom": "*",
3816
+ "ext-xmlwriter": "*",
3817
+ "php": "^7.3",
3818
+ "phpunit/php-file-iterator": "^3.0",
3819
+ "phpunit/php-text-template": "^2.0",
3820
+ "phpunit/php-token-stream": "^4.0",
3821
+ "sebastian/code-unit-reverse-lookup": "^2.0",
3822
+ "sebastian/environment": "^5.0",
3823
+ "sebastian/version": "^3.0",
3824
+ "theseer/tokenizer": "^1.1.3"
3825
+ },
3826
+ "require-dev": {
3827
+ "phpunit/phpunit": "^9.0"
3828
+ },
3829
+ "suggest": {
3830
+ "ext-pcov": "*",
3831
+ "ext-xdebug": "*"
3832
+ },
3833
+ "type": "library",
3834
+ "extra": {
3835
+ "branch-alias": {
3836
+ "dev-master": "8.0-dev"
3837
+ }
3838
+ },
3839
+ "autoload": {
3840
+ "classmap": [
3841
+ "src/"
3842
+ ]
3843
+ },
3844
+ "notification-url": "https://packagist.org/downloads/",
3845
+ "license": [
3846
+ "BSD-3-Clause"
3847
+ ],
3848
+ "authors": [
3849
+ {
3850
+ "name": "Sebastian Bergmann",
3851
+ "email": "sebastian@phpunit.de",
3852
+ "role": "lead"
3853
+ }
3854
+ ],
3855
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
3856
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
3857
+ "keywords": [
3858
+ "coverage",
3859
+ "testing",
3860
+ "xunit"
3861
+ ],
3862
+ "support": {
3863
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
3864
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/8.0.2"
3865
+ },
3866
+ "funding": [
3867
+ {
3868
+ "url": "https://github.com/sebastianbergmann",
3869
+ "type": "github"
3870
+ }
3871
+ ],
3872
+ "time": "2020-05-23T08:02:54+00:00"
3873
+ },
3874
+ {
3875
+ "name": "phpunit/php-file-iterator",
3876
+ "version": "3.0.5",
3877
+ "source": {
3878
+ "type": "git",
3879
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
3880
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
3881
+ },
3882
+ "dist": {
3883
+ "type": "zip",
3884
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
3885
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
3886
+ "shasum": ""
3887
+ },
3888
+ "require": {
3889
+ "php": ">=7.3"
3890
+ },
3891
+ "require-dev": {
3892
+ "phpunit/phpunit": "^9.3"
3893
+ },
3894
+ "type": "library",
3895
+ "extra": {
3896
+ "branch-alias": {
3897
+ "dev-master": "3.0-dev"
3898
+ }
3899
+ },
3900
+ "autoload": {
3901
+ "classmap": [
3902
+ "src/"
3903
+ ]
3904
+ },
3905
+ "notification-url": "https://packagist.org/downloads/",
3906
+ "license": [
3907
+ "BSD-3-Clause"
3908
+ ],
3909
+ "authors": [
3910
+ {
3911
+ "name": "Sebastian Bergmann",
3912
+ "email": "sebastian@phpunit.de",
3913
+ "role": "lead"
3914
+ }
3915
+ ],
3916
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
3917
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
3918
+ "keywords": [
3919
+ "filesystem",
3920
+ "iterator"
3921
+ ],
3922
+ "support": {
3923
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
3924
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
3925
+ },
3926
+ "funding": [
3927
+ {
3928
+ "url": "https://github.com/sebastianbergmann",
3929
+ "type": "github"
3930
+ }
3931
+ ],
3932
+ "time": "2020-09-28T05:57:25+00:00"
3933
+ },
3934
+ {
3935
+ "name": "phpunit/php-invoker",
3936
+ "version": "3.1.1",
3937
+ "source": {
3938
+ "type": "git",
3939
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
3940
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
3941
+ },
3942
+ "dist": {
3943
+ "type": "zip",
3944
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
3945
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
3946
+ "shasum": ""
3947
+ },
3948
+ "require": {
3949
+ "php": ">=7.3"
3950
+ },
3951
+ "require-dev": {
3952
+ "ext-pcntl": "*",
3953
+ "phpunit/phpunit": "^9.3"
3954
+ },
3955
+ "suggest": {
3956
+ "ext-pcntl": "*"
3957
+ },
3958
+ "type": "library",
3959
+ "extra": {
3960
+ "branch-alias": {
3961
+ "dev-master": "3.1-dev"
3962
+ }
3963
+ },
3964
+ "autoload": {
3965
+ "classmap": [
3966
+ "src/"
3967
+ ]
3968
+ },
3969
+ "notification-url": "https://packagist.org/downloads/",
3970
+ "license": [
3971
+ "BSD-3-Clause"
3972
+ ],
3973
+ "authors": [
3974
+ {
3975
+ "name": "Sebastian Bergmann",
3976
+ "email": "sebastian@phpunit.de",
3977
+ "role": "lead"
3978
+ }
3979
+ ],
3980
+ "description": "Invoke callables with a timeout",
3981
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
3982
+ "keywords": [
3983
+ "process"
3984
+ ],
3985
+ "support": {
3986
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
3987
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
3988
+ },
3989
+ "funding": [
3990
+ {
3991
+ "url": "https://github.com/sebastianbergmann",
3992
+ "type": "github"
3993
+ }
3994
+ ],
3995
+ "time": "2020-09-28T05:58:55+00:00"
3996
+ },
3997
+ {
3998
+ "name": "phpunit/php-text-template",
3999
+ "version": "2.0.4",
4000
+ "source": {
4001
+ "type": "git",
4002
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
4003
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
4004
+ },
4005
+ "dist": {
4006
+ "type": "zip",
4007
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
4008
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
4009
+ "shasum": ""
4010
+ },
4011
+ "require": {
4012
+ "php": ">=7.3"
4013
+ },
4014
+ "require-dev": {
4015
+ "phpunit/phpunit": "^9.3"
4016
+ },
4017
+ "type": "library",
4018
+ "extra": {
4019
+ "branch-alias": {
4020
+ "dev-master": "2.0-dev"
4021
+ }
4022
+ },
4023
+ "autoload": {
4024
+ "classmap": [
4025
+ "src/"
4026
+ ]
4027
+ },
4028
+ "notification-url": "https://packagist.org/downloads/",
4029
+ "license": [
4030
+ "BSD-3-Clause"
4031
+ ],
4032
+ "authors": [
4033
+ {
4034
+ "name": "Sebastian Bergmann",
4035
+ "email": "sebastian@phpunit.de",
4036
+ "role": "lead"
4037
+ }
4038
+ ],
4039
+ "description": "Simple template engine.",
4040
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
4041
+ "keywords": [
4042
+ "template"
4043
+ ],
4044
+ "support": {
4045
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
4046
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
4047
+ },
4048
+ "funding": [
4049
+ {
4050
+ "url": "https://github.com/sebastianbergmann",
4051
+ "type": "github"
4052
+ }
4053
+ ],
4054
+ "time": "2020-10-26T05:33:50+00:00"
4055
+ },
4056
+ {
4057
+ "name": "phpunit/php-timer",
4058
+ "version": "3.1.4",
4059
+ "source": {
4060
+ "type": "git",
4061
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
4062
+ "reference": "dc9368fae6ef2ffa57eba80a7410bcef81df6258"
4063
+ },
4064
+ "dist": {
4065
+ "type": "zip",
4066
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/dc9368fae6ef2ffa57eba80a7410bcef81df6258",
4067
+ "reference": "dc9368fae6ef2ffa57eba80a7410bcef81df6258",
4068
+ "shasum": ""
4069
+ },
4070
+ "require": {
4071
+ "php": "^7.3"
4072
+ },
4073
+ "require-dev": {
4074
+ "phpunit/phpunit": "^9.0"
4075
+ },
4076
+ "type": "library",
4077
+ "extra": {
4078
+ "branch-alias": {
4079
+ "dev-master": "3.1-dev"
4080
+ }
4081
+ },
4082
+ "autoload": {
4083
+ "classmap": [
4084
+ "src/"
4085
+ ]
4086
+ },
4087
+ "notification-url": "https://packagist.org/downloads/",
4088
+ "license": [
4089
+ "BSD-3-Clause"
4090
+ ],
4091
+ "authors": [
4092
+ {
4093
+ "name": "Sebastian Bergmann",
4094
+ "email": "sebastian@phpunit.de",
4095
+ "role": "lead"
4096
+ }
4097
+ ],
4098
+ "description": "Utility class for timing",
4099
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
4100
+ "keywords": [
4101
+ "timer"
4102
+ ],
4103
+ "support": {
4104
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
4105
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/master"
4106
+ },
4107
+ "funding": [
4108
+ {
4109
+ "url": "https://github.com/sebastianbergmann",
4110
+ "type": "github"
4111
+ }
4112
+ ],
4113
+ "time": "2020-04-20T06:00:37+00:00"
4114
+ },
4115
+ {
4116
+ "name": "phpunit/php-token-stream",
4117
+ "version": "4.0.4",
4118
+ "source": {
4119
+ "type": "git",
4120
+ "url": "https://github.com/sebastianbergmann/php-token-stream.git",
4121
+ "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3"
4122
+ },
4123
+ "dist": {
4124
+ "type": "zip",
4125
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3",
4126
+ "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3",
4127
+ "shasum": ""
4128
+ },
4129
+ "require": {
4130
+ "ext-tokenizer": "*",
4131
+ "php": "^7.3 || ^8.0"
4132
+ },
4133
+ "require-dev": {
4134
+ "phpunit/phpunit": "^9.0"
4135
+ },
4136
+ "type": "library",
4137
+ "extra": {
4138
+ "branch-alias": {
4139
+ "dev-master": "4.0-dev"
4140
+ }
4141
+ },
4142
+ "autoload": {
4143
+ "classmap": [
4144
+ "src/"
4145
+ ]
4146
+ },
4147
+ "notification-url": "https://packagist.org/downloads/",
4148
+ "license": [
4149
+ "BSD-3-Clause"
4150
+ ],
4151
+ "authors": [
4152
+ {
4153
+ "name": "Sebastian Bergmann",
4154
+ "email": "sebastian@phpunit.de"
4155
+ }
4156
+ ],
4157
+ "description": "Wrapper around PHP's tokenizer extension.",
4158
+ "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
4159
+ "keywords": [
4160
+ "tokenizer"
4161
+ ],
4162
+ "support": {
4163
+ "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
4164
+ "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master"
4165
+ },
4166
+ "funding": [
4167
+ {
4168
+ "url": "https://github.com/sebastianbergmann",
4169
+ "type": "github"
4170
+ }
4171
+ ],
4172
+ "abandoned": true,
4173
+ "time": "2020-08-04T08:28:15+00:00"
4174
+ },
4175
+ {
4176
+ "name": "phpunit/phpunit",
4177
+ "version": "9.1.5",
4178
+ "source": {
4179
+ "type": "git",
4180
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
4181
+ "reference": "1b570cd7edbe136055bf5f651857dc8af6b829d2"
4182
+ },
4183
+ "dist": {
4184
+ "type": "zip",
4185
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1b570cd7edbe136055bf5f651857dc8af6b829d2",
4186
+ "reference": "1b570cd7edbe136055bf5f651857dc8af6b829d2",
4187
+ "shasum": ""
4188
+ },
4189
+ "require": {
4190
+ "doctrine/instantiator": "^1.2.0",
4191
+ "ext-dom": "*",
4192
+ "ext-json": "*",
4193
+ "ext-libxml": "*",
4194
+ "ext-mbstring": "*",
4195
+ "ext-xml": "*",
4196
+ "ext-xmlwriter": "*",
4197
+ "myclabs/deep-copy": "^1.9.1",
4198
+ "phar-io/manifest": "^1.0.3",
4199
+ "phar-io/version": "^2.0.1",
4200
+ "php": "^7.3",
4201
+ "phpspec/prophecy": "^1.8.1",
4202
+ "phpunit/php-code-coverage": "^8.0.1",
4203
+ "phpunit/php-file-iterator": "^3.0",
4204
+ "phpunit/php-invoker": "^3.0",
4205
+ "phpunit/php-text-template": "^2.0",
4206
+ "phpunit/php-timer": "^3.1.4",
4207
+ "sebastian/code-unit": "^1.0.2",
4208
+ "sebastian/comparator": "^4.0",
4209
+ "sebastian/diff": "^4.0",
4210
+ "sebastian/environment": "^5.0.1",
4211
+ "sebastian/exporter": "^4.0",
4212
+ "sebastian/global-state": "^4.0",
4213
+ "sebastian/object-enumerator": "^4.0",
4214
+ "sebastian/resource-operations": "^3.0",
4215
+ "sebastian/type": "^2.0",
4216
+ "sebastian/version": "^3.0"
4217
+ },
4218
+ "require-dev": {
4219
+ "ext-pdo": "*",
4220
+ "phpspec/prophecy-phpunit": "^2.0"
4221
+ },
4222
+ "suggest": {
4223
+ "ext-soap": "*",
4224
+ "ext-xdebug": "*"
4225
+ },
4226
+ "bin": [
4227
+ "phpunit"
4228
+ ],
4229
+ "type": "library",
4230
+ "extra": {
4231
+ "branch-alias": {
4232
+ "dev-master": "9.1-dev"
4233
+ }
4234
+ },
4235
+ "autoload": {
4236
+ "classmap": [
4237
+ "src/"
4238
+ ],
4239
+ "files": [
4240
+ "src/Framework/Assert/Functions.php"
4241
+ ]
4242
+ },
4243
+ "notification-url": "https://packagist.org/downloads/",
4244
+ "license": [
4245
+ "BSD-3-Clause"
4246
+ ],
4247
+ "authors": [
4248
+ {
4249
+ "name": "Sebastian Bergmann",
4250
+ "email": "sebastian@phpunit.de",
4251
+ "role": "lead"
4252
+ }
4253
+ ],
4254
+ "description": "The PHP Unit Testing framework.",
4255
+ "homepage": "https://phpunit.de/",
4256
+ "keywords": [
4257
+ "phpunit",
4258
+ "testing",
4259
+ "xunit"
4260
+ ],
4261
+ "support": {
4262
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
4263
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.1.5"
4264
+ },
4265
+ "funding": [
4266
+ {
4267
+ "url": "https://phpunit.de/donate.html",
4268
+ "type": "custom"
4269
+ },
4270
+ {
4271
+ "url": "https://github.com/sebastianbergmann",
4272
+ "type": "github"
4273
+ }
4274
+ ],
4275
+ "time": "2020-05-22T13:54:05+00:00"
4276
+ },
4277
+ {
4278
+ "name": "psr/container",
4279
+ "version": "1.1.2",
4280
+ "source": {
4281
+ "type": "git",
4282
+ "url": "https://github.com/php-fig/container.git",
4283
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
4284
+ },
4285
+ "dist": {
4286
+ "type": "zip",
4287
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
4288
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
4289
+ "shasum": ""
4290
+ },
4291
+ "require": {
4292
+ "php": ">=7.4.0"
4293
+ },
4294
+ "type": "library",
4295
+ "autoload": {
4296
+ "psr-4": {
4297
+ "Psr\\Container\\": "src/"
4298
+ }
4299
+ },
4300
+ "notification-url": "https://packagist.org/downloads/",
4301
+ "license": [
4302
+ "MIT"
4303
+ ],
4304
+ "authors": [
4305
+ {
4306
+ "name": "PHP-FIG",
4307
+ "homepage": "https://www.php-fig.org/"
4308
+ }
4309
+ ],
4310
+ "description": "Common Container Interface (PHP FIG PSR-11)",
4311
+ "homepage": "https://github.com/php-fig/container",
4312
+ "keywords": [
4313
+ "PSR-11",
4314
+ "container",
4315
+ "container-interface",
4316
+ "container-interop",
4317
+ "psr"
4318
+ ],
4319
+ "support": {
4320
+ "issues": "https://github.com/php-fig/container/issues",
4321
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
4322
+ },
4323
+ "time": "2021-11-05T16:50:12+00:00"
4324
+ },
4325
+ {
4326
+ "name": "psr/event-dispatcher",
4327
+ "version": "1.0.0",
4328
+ "source": {
4329
+ "type": "git",
4330
+ "url": "https://github.com/php-fig/event-dispatcher.git",
4331
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
4332
+ },
4333
+ "dist": {
4334
+ "type": "zip",
4335
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
4336
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
4337
+ "shasum": ""
4338
+ },
4339
+ "require": {
4340
+ "php": ">=7.2.0"
4341
+ },
4342
+ "type": "library",
4343
+ "extra": {
4344
+ "branch-alias": {
4345
+ "dev-master": "1.0.x-dev"
4346
+ }
4347
+ },
4348
+ "autoload": {
4349
+ "psr-4": {
4350
+ "Psr\\EventDispatcher\\": "src/"
4351
+ }
4352
+ },
4353
+ "notification-url": "https://packagist.org/downloads/",
4354
+ "license": [
4355
+ "MIT"
4356
+ ],
4357
+ "authors": [
4358
+ {
4359
+ "name": "PHP-FIG",
4360
+ "homepage": "http://www.php-fig.org/"
4361
+ }
4362
+ ],
4363
+ "description": "Standard interfaces for event handling.",
4364
+ "keywords": [
4365
+ "events",
4366
+ "psr",
4367
+ "psr-14"
4368
+ ],
4369
+ "support": {
4370
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
4371
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
4372
+ },
4373
+ "time": "2019-01-08T18:20:26+00:00"
4374
+ },
4375
+ {
4376
+ "name": "psr/http-client",
4377
+ "version": "1.0.1",
4378
+ "source": {
4379
+ "type": "git",
4380
+ "url": "https://github.com/php-fig/http-client.git",
4381
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
4382
+ },
4383
+ "dist": {
4384
+ "type": "zip",
4385
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
4386
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
4387
+ "shasum": ""
4388
+ },
4389
+ "require": {
4390
+ "php": "^7.0 || ^8.0",
4391
+ "psr/http-message": "^1.0"
4392
+ },
4393
+ "type": "library",
4394
+ "extra": {
4395
+ "branch-alias": {
4396
+ "dev-master": "1.0.x-dev"
4397
+ }
4398
+ },
4399
+ "autoload": {
4400
+ "psr-4": {
4401
+ "Psr\\Http\\Client\\": "src/"
4402
+ }
4403
+ },
4404
+ "notification-url": "https://packagist.org/downloads/",
4405
+ "license": [
4406
+ "MIT"
4407
+ ],
4408
+ "authors": [
4409
+ {
4410
+ "name": "PHP-FIG",
4411
+ "homepage": "http://www.php-fig.org/"
4412
+ }
4413
+ ],
4414
+ "description": "Common interface for HTTP clients",
4415
+ "homepage": "https://github.com/php-fig/http-client",
4416
+ "keywords": [
4417
+ "http",
4418
+ "http-client",
4419
+ "psr",
4420
+ "psr-18"
4421
+ ],
4422
+ "support": {
4423
+ "source": "https://github.com/php-fig/http-client/tree/master"
4424
+ },
4425
+ "time": "2020-06-29T06:28:15+00:00"
4426
+ },
4427
+ {
4428
+ "name": "psr/http-factory",
4429
+ "version": "1.0.1",
4430
+ "source": {
4431
+ "type": "git",
4432
+ "url": "https://github.com/php-fig/http-factory.git",
4433
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
4434
+ },
4435
+ "dist": {
4436
+ "type": "zip",
4437
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
4438
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
4439
+ "shasum": ""
4440
+ },
4441
+ "require": {
4442
+ "php": ">=7.0.0",
4443
+ "psr/http-message": "^1.0"
4444
+ },
4445
+ "type": "library",
4446
+ "extra": {
4447
+ "branch-alias": {
4448
+ "dev-master": "1.0.x-dev"
4449
+ }
4450
+ },
4451
+ "autoload": {
4452
+ "psr-4": {
4453
+ "Psr\\Http\\Message\\": "src/"
4454
+ }
4455
+ },
4456
+ "notification-url": "https://packagist.org/downloads/",
4457
+ "license": [
4458
+ "MIT"
4459
+ ],
4460
+ "authors": [
4461
+ {
4462
+ "name": "PHP-FIG",
4463
+ "homepage": "http://www.php-fig.org/"
4464
+ }
4465
+ ],
4466
+ "description": "Common interfaces for PSR-7 HTTP message factories",
4467
+ "keywords": [
4468
+ "factory",
4469
+ "http",
4470
+ "message",
4471
+ "psr",
4472
+ "psr-17",
4473
+ "psr-7",
4474
+ "request",
4475
+ "response"
4476
+ ],
4477
+ "support": {
4478
+ "source": "https://github.com/php-fig/http-factory/tree/master"
4479
+ },
4480
+ "time": "2019-04-30T12:38:16+00:00"
4481
+ },
4482
+ {
4483
+ "name": "psr/http-message",
4484
+ "version": "1.0.1",
4485
+ "source": {
4486
+ "type": "git",
4487
+ "url": "https://github.com/php-fig/http-message.git",
4488
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
4489
+ },
4490
+ "dist": {
4491
+ "type": "zip",
4492
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
4493
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
4494
+ "shasum": ""
4495
+ },
4496
+ "require": {
4497
+ "php": ">=5.3.0"
4498
+ },
4499
+ "type": "library",
4500
+ "extra": {
4501
+ "branch-alias": {
4502
+ "dev-master": "1.0.x-dev"
4503
+ }
4504
+ },
4505
+ "autoload": {
4506
+ "psr-4": {
4507
+ "Psr\\Http\\Message\\": "src/"
4508
+ }
4509
+ },
4510
+ "notification-url": "https://packagist.org/downloads/",
4511
+ "license": [
4512
+ "MIT"
4513
+ ],
4514
+ "authors": [
4515
+ {
4516
+ "name": "PHP-FIG",
4517
+ "homepage": "http://www.php-fig.org/"
4518
+ }
4519
+ ],
4520
+ "description": "Common interface for HTTP messages",
4521
+ "homepage": "https://github.com/php-fig/http-message",
4522
+ "keywords": [
4523
+ "http",
4524
+ "http-message",
4525
+ "psr",
4526
+ "psr-7",
4527
+ "request",
4528
+ "response"
4529
+ ],
4530
+ "support": {
4531
+ "source": "https://github.com/php-fig/http-message/tree/master"
4532
+ },
4533
+ "time": "2016-08-06T14:39:51+00:00"
4534
+ },
4535
+ {
4536
+ "name": "psr/log",
4537
+ "version": "1.1.4",
4538
+ "source": {
4539
+ "type": "git",
4540
+ "url": "https://github.com/php-fig/log.git",
4541
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
4542
+ },
4543
+ "dist": {
4544
+ "type": "zip",
4545
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
4546
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
4547
+ "shasum": ""
4548
+ },
4549
+ "require": {
4550
+ "php": ">=5.3.0"
4551
+ },
4552
+ "type": "library",
4553
+ "extra": {
4554
+ "branch-alias": {
4555
+ "dev-master": "1.1.x-dev"
4556
+ }
4557
+ },
4558
+ "autoload": {
4559
+ "psr-4": {
4560
+ "Psr\\Log\\": "Psr/Log/"
4561
+ }
4562
+ },
4563
+ "notification-url": "https://packagist.org/downloads/",
4564
+ "license": [
4565
+ "MIT"
4566
+ ],
4567
+ "authors": [
4568
+ {
4569
+ "name": "PHP-FIG",
4570
+ "homepage": "https://www.php-fig.org/"
4571
+ }
4572
+ ],
4573
+ "description": "Common interface for logging libraries",
4574
+ "homepage": "https://github.com/php-fig/log",
4575
+ "keywords": [
4576
+ "log",
4577
+ "psr",
4578
+ "psr-3"
4579
+ ],
4580
+ "support": {
4581
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
4582
+ },
4583
+ "time": "2021-05-03T11:20:27+00:00"
4584
+ },
4585
+ {
4586
+ "name": "psr/simple-cache",
4587
+ "version": "1.0.1",
4588
+ "source": {
4589
+ "type": "git",
4590
+ "url": "https://github.com/php-fig/simple-cache.git",
4591
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
4592
+ },
4593
+ "dist": {
4594
+ "type": "zip",
4595
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
4596
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
4597
+ "shasum": ""
4598
+ },
4599
+ "require": {
4600
+ "php": ">=5.3.0"
4601
+ },
4602
+ "type": "library",
4603
+ "extra": {
4604
+ "branch-alias": {
4605
+ "dev-master": "1.0.x-dev"
4606
+ }
4607
+ },
4608
+ "autoload": {
4609
+ "psr-4": {
4610
+ "Psr\\SimpleCache\\": "src/"
4611
+ }
4612
+ },
4613
+ "notification-url": "https://packagist.org/downloads/",
4614
+ "license": [
4615
+ "MIT"
4616
+ ],
4617
+ "authors": [
4618
+ {
4619
+ "name": "PHP-FIG",
4620
+ "homepage": "http://www.php-fig.org/"
4621
+ }
4622
+ ],
4623
+ "description": "Common interfaces for simple caching",
4624
+ "keywords": [
4625
+ "cache",
4626
+ "caching",
4627
+ "psr",
4628
+ "psr-16",
4629
+ "simple-cache"
4630
+ ],
4631
+ "support": {
4632
+ "source": "https://github.com/php-fig/simple-cache/tree/master"
4633
+ },
4634
+ "time": "2017-10-23T01:57:42+00:00"
4635
+ },
4636
+ {
4637
+ "name": "publishpress/publishpress-plugin-builder",
4638
+ "version": "v1.3.4",
4639
+ "source": {
4640
+ "type": "git",
4641
+ "url": "https://github.com/publishpress/PublishPress-Plugin-Builder.git",
4642
+ "reference": "fd58833743fc80aecac02c0c99b5eca1212c434d"
4643
+ },
4644
+ "dist": {
4645
+ "type": "zip",
4646
+ "url": "https://api.github.com/repos/publishpress/PublishPress-Plugin-Builder/zipball/fd58833743fc80aecac02c0c99b5eca1212c434d",
4647
+ "reference": "fd58833743fc80aecac02c0c99b5eca1212c434d",
4648
+ "shasum": ""
4649
+ },
4650
+ "require": {
4651
+ "consolidation/robo": "^3.0",
4652
+ "nelexa/zip": "^3.3",
4653
+ "php": "~7.3",
4654
+ "symfony/yaml": "^5"
4655
+ },
4656
+ "require-dev": {
4657
+ "codeception/codeception": "^4.0",
4658
+ "codeception/module-asserts": "^1.0.0",
4659
+ "phpmd/phpmd": "^2.8",
4660
+ "phpmetrics/phpmetrics": "^2.7",
4661
+ "squizlabs/php_codesniffer": "^3.5"
4662
+ },
4663
+ "type": "library",
4664
+ "autoload": {
4665
+ "psr-4": {
4666
+ "PublishPressBuilder\\": "src/"
4667
+ }
4668
+ },
4669
+ "notification-url": "https://packagist.org/downloads/",
4670
+ "license": [
4671
+ "GPL-2.0-or-later"
4672
+ ],
4673
+ "authors": [
4674
+ {
4675
+ "name": "PublishPress",
4676
+ "email": "help@publishpress.com"
4677
+ }
4678
+ ],
4679
+ "description": "Robo tasks for building WordPress plugins",
4680
+ "support": {
4681
+ "issues": "https://github.com/publishpress/PublishPress-Plugin-Builder/issues",
4682
+ "source": "https://github.com/publishpress/PublishPress-Plugin-Builder/tree/v1.3.4"
4683
+ },
4684
+ "time": "2021-10-18T17:26:24+00:00"
4685
+ },
4686
+ {
4687
+ "name": "ralouphie/getallheaders",
4688
+ "version": "3.0.3",
4689
+ "source": {
4690
+ "type": "git",
4691
+ "url": "https://github.com/ralouphie/getallheaders.git",
4692
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
4693
+ },
4694
+ "dist": {
4695
+ "type": "zip",
4696
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
4697
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
4698
+ "shasum": ""
4699
+ },
4700
+ "require": {
4701
+ "php": ">=5.6"
4702
+ },
4703
+ "require-dev": {
4704
+ "php-coveralls/php-coveralls": "^2.1",
4705
+ "phpunit/phpunit": "^5 || ^6.5"
4706
+ },
4707
+ "type": "library",
4708
+ "autoload": {
4709
+ "files": [
4710
+ "src/getallheaders.php"
4711
+ ]
4712
+ },
4713
+ "notification-url": "https://packagist.org/downloads/",
4714
+ "license": [
4715
+ "MIT"
4716
+ ],
4717
+ "authors": [
4718
+ {
4719
+ "name": "Ralph Khattar",
4720
+ "email": "ralph.khattar@gmail.com"
4721
+ }
4722
+ ],
4723
+ "description": "A polyfill for getallheaders.",
4724
+ "support": {
4725
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
4726
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
4727
+ },
4728
+ "time": "2019-03-08T08:55:37+00:00"
4729
+ },
4730
+ {
4731
+ "name": "rmccue/requests",
4732
+ "version": "v1.8.1",
4733
+ "source": {
4734
+ "type": "git",
4735
+ "url": "https://github.com/WordPress/Requests.git",
4736
+ "reference": "82e6936366eac3af4d836c18b9d8c31028fe4cd5"
4737
+ },
4738
+ "dist": {
4739
+ "type": "zip",
4740
+ "url": "https://api.github.com/repos/WordPress/Requests/zipball/82e6936366eac3af4d836c18b9d8c31028fe4cd5",
4741
+ "reference": "82e6936366eac3af4d836c18b9d8c31028fe4cd5",
4742
+ "shasum": ""
4743
+ },
4744
+ "require": {
4745
+ "php": ">=5.2"
4746
+ },
4747
+ "require-dev": {
4748
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7",
4749
+ "php-parallel-lint/php-console-highlighter": "^0.5.0",
4750
+ "php-parallel-lint/php-parallel-lint": "^1.3",
4751
+ "phpcompatibility/php-compatibility": "^9.0",
4752
+ "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5",
4753
+ "requests/test-server": "dev-master",
4754
+ "squizlabs/php_codesniffer": "^3.5",
4755
+ "wp-coding-standards/wpcs": "^2.0"
4756
+ },
4757
+ "type": "library",
4758
+ "autoload": {
4759
+ "psr-0": {
4760
+ "Requests": "library/"
4761
+ }
4762
+ },
4763
+ "notification-url": "https://packagist.org/downloads/",
4764
+ "license": [
4765
+ "ISC"
4766
+ ],
4767
+ "authors": [
4768
+ {
4769
+ "name": "Ryan McCue",
4770
+ "homepage": "http://ryanmccue.info"
4771
+ }
4772
+ ],
4773
+ "description": "A HTTP library written in PHP, for human beings.",
4774
+ "homepage": "http://github.com/WordPress/Requests",
4775
+ "keywords": [
4776
+ "curl",
4777
+ "fsockopen",
4778
+ "http",
4779
+ "idna",
4780
+ "ipv6",
4781
+ "iri",
4782
+ "sockets"
4783
+ ],
4784
+ "support": {
4785
+ "issues": "https://github.com/WordPress/Requests/issues",
4786
+ "source": "https://github.com/WordPress/Requests/tree/v1.8.1"
4787
+ },
4788
+ "time": "2021-06-04T09:56:25+00:00"
4789
+ },
4790
+ {
4791
+ "name": "sebastian/code-unit",
4792
+ "version": "1.0.8",
4793
+ "source": {
4794
+ "type": "git",
4795
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
4796
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
4797
+ },
4798
+ "dist": {
4799
+ "type": "zip",
4800
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
4801
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
4802
+ "shasum": ""
4803
+ },
4804
+ "require": {
4805
+ "php": ">=7.3"
4806
+ },
4807
+ "require-dev": {
4808
+ "phpunit/phpunit": "^9.3"
4809
+ },
4810
+ "type": "library",
4811
+ "extra": {
4812
+ "branch-alias": {
4813
+ "dev-master": "1.0-dev"
4814
+ }
4815
+ },
4816
+ "autoload": {
4817
+ "classmap": [
4818
+ "src/"
4819
+ ]
4820
+ },
4821
+ "notification-url": "https://packagist.org/downloads/",
4822
+ "license": [
4823
+ "BSD-3-Clause"
4824
+ ],
4825
+ "authors": [
4826
+ {
4827
+ "name": "Sebastian Bergmann",
4828
+ "email": "sebastian@phpunit.de",
4829
+ "role": "lead"
4830
+ }
4831
+ ],
4832
+ "description": "Collection of value objects that represent the PHP code units",
4833
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
4834
+ "support": {
4835
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
4836
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
4837
+ },
4838
+ "funding": [
4839
+ {
4840
+ "url": "https://github.com/sebastianbergmann",
4841
+ "type": "github"
4842
+ }
4843
+ ],
4844
+ "time": "2020-10-26T13:08:54+00:00"
4845
+ },
4846
+ {
4847
+ "name": "sebastian/code-unit-reverse-lookup",
4848
+ "version": "2.0.3",
4849
+ "source": {
4850
+ "type": "git",
4851
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
4852
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
4853
+ },
4854
+ "dist": {
4855
+ "type": "zip",
4856
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
4857
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
4858
+ "shasum": ""
4859
+ },
4860
+ "require": {
4861
+ "php": ">=7.3"
4862
+ },
4863
+ "require-dev": {
4864
+ "phpunit/phpunit": "^9.3"
4865
+ },
4866
+ "type": "library",
4867
+ "extra": {
4868
+ "branch-alias": {
4869
+ "dev-master": "2.0-dev"
4870
+ }
4871
+ },
4872
+ "autoload": {
4873
+ "classmap": [
4874
+ "src/"
4875
+ ]
4876
+ },
4877
+ "notification-url": "https://packagist.org/downloads/",
4878
+ "license": [
4879
+ "BSD-3-Clause"
4880
+ ],
4881
+ "authors": [
4882
+ {
4883
+ "name": "Sebastian Bergmann",
4884
+ "email": "sebastian@phpunit.de"
4885
+ }
4886
+ ],
4887
+ "description": "Looks up which function or method a line of code belongs to",
4888
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
4889
+ "support": {
4890
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
4891
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
4892
+ },
4893
+ "funding": [
4894
+ {
4895
+ "url": "https://github.com/sebastianbergmann",
4896
+ "type": "github"
4897
+ }
4898
+ ],
4899
+ "time": "2020-09-28T05:30:19+00:00"
4900
+ },
4901
+ {
4902
+ "name": "sebastian/comparator",
4903
+ "version": "4.0.6",
4904
+ "source": {
4905
+ "type": "git",
4906
+ "url": "https://github.com/sebastianbergmann/comparator.git",
4907
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
4908
+ },
4909
+ "dist": {
4910
+ "type": "zip",
4911
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
4912
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
4913
+ "shasum": ""
4914
+ },
4915
+ "require": {
4916
+ "php": ">=7.3",
4917
+ "sebastian/diff": "^4.0",
4918
+ "sebastian/exporter": "^4.0"
4919
+ },
4920
+ "require-dev": {
4921
+ "phpunit/phpunit": "^9.3"
4922
+ },
4923
+ "type": "library",
4924
+ "extra": {
4925
+ "branch-alias": {
4926
+ "dev-master": "4.0-dev"
4927
+ }
4928
+ },
4929
+ "autoload": {
4930
+ "classmap": [
4931
+ "src/"
4932
+ ]
4933
+ },
4934
+ "notification-url": "https://packagist.org/downloads/",
4935
+ "license": [
4936
+ "BSD-3-Clause"
4937
+ ],
4938
+ "authors": [
4939
+ {
4940
+ "name": "Sebastian Bergmann",
4941
+ "email": "sebastian@phpunit.de"
4942
+ },
4943
+ {
4944
+ "name": "Jeff Welch",
4945
+ "email": "whatthejeff@gmail.com"
4946
+ },
4947
+ {
4948
+ "name": "Volker Dusch",
4949
+ "email": "github@wallbash.com"
4950
+ },
4951
+ {
4952
+ "name": "Bernhard Schussek",
4953
+ "email": "bschussek@2bepublished.at"
4954
+ }
4955
+ ],
4956
+ "description": "Provides the functionality to compare PHP values for equality",
4957
+ "homepage": "https://github.com/sebastianbergmann/comparator",
4958
+ "keywords": [
4959
+ "comparator",
4960
+ "compare",
4961
+ "equality"
4962
+ ],
4963
+ "support": {
4964
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
4965
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
4966
+ },
4967
+ "funding": [
4968
+ {
4969
+ "url": "https://github.com/sebastianbergmann",
4970
+ "type": "github"
4971
+ }
4972
+ ],
4973
+ "time": "2020-10-26T15:49:45+00:00"
4974
+ },
4975
+ {
4976
+ "name": "sebastian/diff",
4977
+ "version": "4.0.4",
4978
+ "source": {
4979
+ "type": "git",
4980
+ "url": "https://github.com/sebastianbergmann/diff.git",
4981
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
4982
+ },
4983
+ "dist": {
4984
+ "type": "zip",
4985
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
4986
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
4987
+ "shasum": ""
4988
+ },
4989
+ "require": {
4990
+ "php": ">=7.3"
4991
+ },
4992
+ "require-dev": {
4993
+ "phpunit/phpunit": "^9.3",
4994
+ "symfony/process": "^4.2 || ^5"
4995
+ },
4996
+ "type": "library",
4997
+ "extra": {
4998
+ "branch-alias": {
4999
+ "dev-master": "4.0-dev"
5000
+ }
5001
+ },
5002
+ "autoload": {
5003
+ "classmap": [
5004
+ "src/"
5005
+ ]
5006
+ },
5007
+ "notification-url": "https://packagist.org/downloads/",
5008
+ "license": [
5009
+ "BSD-3-Clause"
5010
+ ],
5011
+ "authors": [
5012
+ {
5013
+ "name": "Sebastian Bergmann",
5014
+ "email": "sebastian@phpunit.de"
5015
+ },
5016
+ {
5017
+ "name": "Kore Nordmann",
5018
+ "email": "mail@kore-nordmann.de"
5019
+ }
5020
+ ],
5021
+ "description": "Diff implementation",
5022
+ "homepage": "https://github.com/sebastianbergmann/diff",
5023
+ "keywords": [
5024
+ "diff",
5025
+ "udiff",
5026
+ "unidiff",
5027
+ "unified diff"
5028
+ ],
5029
+ "support": {
5030
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
5031
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
5032
+ },
5033
+ "funding": [
5034
+ {
5035
+ "url": "https://github.com/sebastianbergmann",
5036
+ "type": "github"
5037
+ }
5038
+ ],
5039
+ "time": "2020-10-26T13:10:38+00:00"
5040
+ },
5041
+ {
5042
+ "name": "sebastian/environment",
5043
+ "version": "5.1.3",
5044
+ "source": {
5045
+ "type": "git",
5046
+ "url": "https://github.com/sebastianbergmann/environment.git",
5047
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
5048
+ },
5049
+ "dist": {
5050
+ "type": "zip",
5051
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
5052
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
5053
+ "shasum": ""
5054
+ },
5055
+ "require": {
5056
+ "php": ">=7.3"
5057
+ },
5058
+ "require-dev": {
5059
+ "phpunit/phpunit": "^9.3"
5060
+ },
5061
+ "suggest": {
5062
+ "ext-posix": "*"
5063
+ },
5064
+ "type": "library",
5065
+ "extra": {
5066
+ "branch-alias": {
5067
+ "dev-master": "5.1-dev"
5068
+ }
5069
+ },
5070
+ "autoload": {
5071
+ "classmap": [
5072
+ "src/"
5073
+ ]
5074
+ },
5075
+ "notification-url": "https://packagist.org/downloads/",
5076
+ "license": [
5077
+ "BSD-3-Clause"
5078
+ ],
5079
+ "authors": [
5080
+ {
5081
+ "name": "Sebastian Bergmann",
5082
+ "email": "sebastian@phpunit.de"
5083
+ }
5084
+ ],
5085
+ "description": "Provides functionality to handle HHVM/PHP environments",
5086
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
5087
+ "keywords": [
5088
+ "Xdebug",
5089
+ "environment",
5090
+ "hhvm"
5091
+ ],
5092
+ "support": {
5093
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
5094
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
5095
+ },
5096
+ "funding": [
5097
+ {
5098
+ "url": "https://github.com/sebastianbergmann",
5099
+ "type": "github"
5100
+ }
5101
+ ],
5102
+ "time": "2020-09-28T05:52:38+00:00"
5103
+ },
5104
+ {
5105
+ "name": "sebastian/exporter",
5106
+ "version": "4.0.4",
5107
+ "source": {
5108
+ "type": "git",
5109
+ "url": "https://github.com/sebastianbergmann/exporter.git",
5110
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
5111
+ },
5112
+ "dist": {
5113
+ "type": "zip",
5114
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
5115
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
5116
+ "shasum": ""
5117
+ },
5118
+ "require": {
5119
+ "php": ">=7.3",
5120
+ "sebastian/recursion-context": "^4.0"
5121
+ },
5122
+ "require-dev": {
5123
+ "ext-mbstring": "*",
5124
+ "phpunit/phpunit": "^9.3"
5125
+ },
5126
+ "type": "library",
5127
+ "extra": {
5128
+ "branch-alias": {
5129
+ "dev-master": "4.0-dev"
5130
+ }
5131
+ },
5132
+ "autoload": {
5133
+ "classmap": [
5134
+ "src/"
5135
+ ]
5136
+ },
5137
+ "notification-url": "https://packagist.org/downloads/",
5138
+ "license": [
5139
+ "BSD-3-Clause"
5140
+ ],
5141
+ "authors": [
5142
+ {
5143
+ "name": "Sebastian Bergmann",
5144
+ "email": "sebastian@phpunit.de"
5145
+ },
5146
+ {
5147
+ "name": "Jeff Welch",
5148
+ "email": "whatthejeff@gmail.com"
5149
+ },
5150
+ {
5151
+ "name": "Volker Dusch",
5152
+ "email": "github@wallbash.com"
5153
+ },
5154
+ {
5155
+ "name": "Adam Harvey",
5156
+ "email": "aharvey@php.net"
5157
+ },
5158
+ {
5159
+ "name": "Bernhard Schussek",
5160
+ "email": "bschussek@gmail.com"
5161
+ }
5162
+ ],
5163
+ "description": "Provides the functionality to export PHP variables for visualization",
5164
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
5165
+ "keywords": [
5166
+ "export",
5167
+ "exporter"
5168
+ ],
5169
+ "support": {
5170
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
5171
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
5172
+ },
5173
+ "funding": [
5174
+ {
5175
+ "url": "https://github.com/sebastianbergmann",
5176
+ "type": "github"
5177
+ }
5178
+ ],
5179
+ "time": "2021-11-11T14:18:36+00:00"
5180
+ },
5181
+ {
5182
+ "name": "sebastian/finder-facade",
5183
+ "version": "2.0.0",
5184
+ "source": {
5185
+ "type": "git",
5186
+ "url": "https://github.com/sebastianbergmann/finder-facade.git",
5187
+ "reference": "9d3e74b845a2ce50e19b25b5f0c2718e153bee6c"
5188
+ },
5189
+ "dist": {
5190
+ "type": "zip",
5191
+ "url": "https://api.github.com/repos/sebastianbergmann/finder-facade/zipball/9d3e74b845a2ce50e19b25b5f0c2718e153bee6c",
5192
+ "reference": "9d3e74b845a2ce50e19b25b5f0c2718e153bee6c",
5193
+ "shasum": ""
5194
+ },
5195
+ "require": {
5196
+ "ext-ctype": "*",
5197
+ "php": "^7.3",
5198
+ "symfony/finder": "^4.1|^5.0",
5199
+ "theseer/fdomdocument": "^1.6"
5200
+ },
5201
+ "type": "library",
5202
+ "extra": {
5203
+ "branch-alias": {
5204
+ "dev-master": "2.0-dev"
5205
+ }
5206
+ },
5207
+ "autoload": {
5208
+ "classmap": [
5209
+ "src/"
5210
+ ]
5211
+ },
5212
+ "notification-url": "https://packagist.org/downloads/",
5213
+ "license": [
5214
+ "BSD-3-Clause"
5215
+ ],
5216
+ "authors": [
5217
+ {
5218
+ "name": "Sebastian Bergmann",
5219
+ "email": "sebastian@phpunit.de",
5220
+ "role": "lead"
5221
+ }
5222
+ ],
5223
+ "description": "FinderFacade is a convenience wrapper for Symfony's Finder component.",
5224
+ "homepage": "https://github.com/sebastianbergmann/finder-facade",
5225
+ "support": {
5226
+ "issues": "https://github.com/sebastianbergmann/finder-facade/issues",
5227
+ "source": "https://github.com/sebastianbergmann/finder-facade/tree/2.0.0"
5228
+ },
5229
+ "abandoned": true,
5230
+ "time": "2020-02-08T06:07:58+00:00"
5231
+ },
5232
+ {
5233
+ "name": "sebastian/global-state",
5234
+ "version": "4.0.0",
5235
+ "source": {
5236
+ "type": "git",
5237
+ "url": "https://github.com/sebastianbergmann/global-state.git",
5238
+ "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72"
5239
+ },
5240
+ "dist": {
5241
+ "type": "zip",
5242
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bdb1e7c79e592b8c82cb1699be3c8743119b8a72",
5243
+ "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72",
5244
+ "shasum": ""
5245
+ },
5246
+ "require": {
5247
+ "php": "^7.3",
5248
+ "sebastian/object-reflector": "^2.0",
5249
+ "sebastian/recursion-context": "^4.0"
5250
+ },
5251
+ "require-dev": {
5252
+ "ext-dom": "*",
5253
+ "phpunit/phpunit": "^9.0"
5254
+ },
5255
+ "suggest": {
5256
+ "ext-uopz": "*"
5257
+ },
5258
+ "type": "library",
5259
+ "extra": {
5260
+ "branch-alias": {
5261
+ "dev-master": "4.0-dev"
5262
+ }
5263
+ },
5264
+ "autoload": {
5265
+ "classmap": [
5266
+ "src/"
5267
+ ]
5268
+ },
5269
+ "notification-url": "https://packagist.org/downloads/",
5270
+ "license": [
5271
+ "BSD-3-Clause"
5272
+ ],
5273
+ "authors": [
5274
+ {
5275
+ "name": "Sebastian Bergmann",
5276
+ "email": "sebastian@phpunit.de"
5277
+ }
5278
+ ],
5279
+ "description": "Snapshotting of global state",
5280
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
5281
+ "keywords": [
5282
+ "global state"
5283
+ ],
5284
+ "support": {
5285
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
5286
+ "source": "https://github.com/sebastianbergmann/global-state/tree/master"
5287
+ },
5288
+ "time": "2020-02-07T06:11:37+00:00"
5289
+ },
5290
+ {
5291
+ "name": "sebastian/object-enumerator",
5292
+ "version": "4.0.4",
5293
+ "source": {
5294
+ "type": "git",
5295
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
5296
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
5297
+ },
5298
+ "dist": {
5299
+ "type": "zip",
5300
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
5301
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
5302
+ "shasum": ""
5303
+ },
5304
+ "require": {
5305
+ "php": ">=7.3",
5306
+ "sebastian/object-reflector": "^2.0",
5307
+ "sebastian/recursion-context": "^4.0"
5308
+ },
5309
+ "require-dev": {
5310
+ "phpunit/phpunit": "^9.3"
5311
+ },
5312
+ "type": "library",
5313
+ "extra": {
5314
+ "branch-alias": {
5315
+ "dev-master": "4.0-dev"
5316
+ }
5317
+ },
5318
+ "autoload": {
5319
+ "classmap": [
5320
+ "src/"
5321
+ ]
5322
+ },
5323
+ "notification-url": "https://packagist.org/downloads/",
5324
+ "license": [
5325
+ "BSD-3-Clause"
5326
+ ],
5327
+ "authors": [
5328
+ {
5329
+ "name": "Sebastian Bergmann",
5330
+ "email": "sebastian@phpunit.de"
5331
+ }
5332
+ ],
5333
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
5334
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
5335
+ "support": {
5336
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
5337
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
5338
+ },
5339
+ "funding": [
5340
+ {
5341
+ "url": "https://github.com/sebastianbergmann",
5342
+ "type": "github"
5343
+ }
5344
+ ],
5345
+ "time": "2020-10-26T13:12:34+00:00"
5346
+ },
5347
+ {
5348
+ "name": "sebastian/object-reflector",
5349
+ "version": "2.0.4",
5350
+ "source": {
5351
+ "type": "git",
5352
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
5353
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
5354
+ },
5355
+ "dist": {
5356
+ "type": "zip",
5357
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
5358
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
5359
+ "shasum": ""
5360
+ },
5361
+ "require": {
5362
+ "php": ">=7.3"
5363
+ },
5364
+ "require-dev": {
5365
+ "phpunit/phpunit": "^9.3"
5366
+ },
5367
+ "type": "library",
5368
+ "extra": {
5369
+ "branch-alias": {
5370
+ "dev-master": "2.0-dev"
5371
+ }
5372
+ },
5373
+ "autoload": {
5374
+ "classmap": [
5375
+ "src/"
5376
+ ]
5377
+ },
5378
+ "notification-url": "https://packagist.org/downloads/",
5379
+ "license": [
5380
+ "BSD-3-Clause"
5381
+ ],
5382
+ "authors": [
5383
+ {
5384
+ "name": "Sebastian Bergmann",
5385
+ "email": "sebastian@phpunit.de"
5386
+ }
5387
+ ],
5388
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
5389
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
5390
+ "support": {
5391
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
5392
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
5393
+ },
5394
+ "funding": [
5395
+ {
5396
+ "url": "https://github.com/sebastianbergmann",
5397
+ "type": "github"
5398
+ }
5399
+ ],
5400
+ "time": "2020-10-26T13:14:26+00:00"
5401
+ },
5402
+ {
5403
+ "name": "sebastian/phpcpd",
5404
+ "version": "5.0.2",
5405
+ "source": {
5406
+ "type": "git",
5407
+ "url": "https://github.com/sebastianbergmann/phpcpd.git",
5408
+ "reference": "8724382966b1861df4e12db915eaed2165e10bf3"
5409
+ },
5410
+ "dist": {
5411
+ "type": "zip",
5412
+ "url": "https://api.github.com/repos/sebastianbergmann/phpcpd/zipball/8724382966b1861df4e12db915eaed2165e10bf3",
5413
+ "reference": "8724382966b1861df4e12db915eaed2165e10bf3",
5414
+ "shasum": ""
5415
+ },
5416
+ "require": {
5417
+ "ext-dom": "*",
5418
+ "php": "^7.3",
5419
+ "phpunit/php-timer": "^3.0",
5420
+ "sebastian/finder-facade": "^2.0",
5421
+ "sebastian/version": "^3.0",
5422
+ "symfony/console": "^4.0|^5.0"
5423
+ },
5424
+ "bin": [
5425
+ "phpcpd"
5426
+ ],
5427
+ "type": "library",
5428
+ "extra": {
5429
+ "branch-alias": {
5430
+ "dev-master": "5.0-dev"
5431
+ }
5432
+ },
5433
+ "autoload": {
5434
+ "classmap": [
5435
+ "src/"
5436
+ ]
5437
+ },
5438
+ "notification-url": "https://packagist.org/downloads/",
5439
+ "license": [
5440
+ "BSD-3-Clause"
5441
+ ],
5442
+ "authors": [
5443
+ {
5444
+ "name": "Sebastian Bergmann",
5445
+ "email": "sebastian@phpunit.de",
5446
+ "role": "lead"
5447
+ }
5448
+ ],
5449
+ "description": "Copy/Paste Detector (CPD) for PHP code.",
5450
+ "homepage": "https://github.com/sebastianbergmann/phpcpd",
5451
+ "support": {
5452
+ "issues": "https://github.com/sebastianbergmann/phpcpd/issues",
5453
+ "source": "https://github.com/sebastianbergmann/phpcpd/tree/5.0.2"
5454
+ },
5455
+ "time": "2020-02-22T06:03:17+00:00"
5456
+ },
5457
+ {
5458
+ "name": "sebastian/recursion-context",
5459
+ "version": "4.0.4",
5460
+ "source": {
5461
+ "type": "git",
5462
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
5463
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
5464
+ },
5465
+ "dist": {
5466
+ "type": "zip",
5467
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
5468
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
5469
+ "shasum": ""
5470
+ },
5471
+ "require": {
5472
+ "php": ">=7.3"
5473
+ },
5474
+ "require-dev": {
5475
+ "phpunit/phpunit": "^9.3"
5476
+ },
5477
+ "type": "library",
5478
+ "extra": {
5479
+ "branch-alias": {
5480
+ "dev-master": "4.0-dev"
5481
+ }
5482
+ },
5483
+ "autoload": {
5484
+ "classmap": [
5485
+ "src/"
5486
+ ]
5487
+ },
5488
+ "notification-url": "https://packagist.org/downloads/",
5489
+ "license": [
5490
+ "BSD-3-Clause"
5491
+ ],
5492
+ "authors": [
5493
+ {
5494
+ "name": "Sebastian Bergmann",
5495
+ "email": "sebastian@phpunit.de"
5496
+ },
5497
+ {
5498
+ "name": "Jeff Welch",
5499
+ "email": "whatthejeff@gmail.com"
5500
+ },
5501
+ {
5502
+ "name": "Adam Harvey",
5503
+ "email": "aharvey@php.net"
5504
+ }
5505
+ ],
5506
+ "description": "Provides functionality to recursively process PHP variables",
5507
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
5508
+ "support": {
5509
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
5510
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
5511
+ },
5512
+ "funding": [
5513
+ {
5514
+ "url": "https://github.com/sebastianbergmann",
5515
+ "type": "github"
5516
+ }
5517
+ ],
5518
+ "time": "2020-10-26T13:17:30+00:00"
5519
+ },
5520
+ {
5521
+ "name": "sebastian/resource-operations",
5522
+ "version": "3.0.3",
5523
+ "source": {
5524
+ "type": "git",
5525
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
5526
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
5527
+ },
5528
+ "dist": {
5529
+ "type": "zip",
5530
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
5531
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
5532
+ "shasum": ""
5533
+ },
5534
+ "require": {
5535
+ "php": ">=7.3"
5536
+ },
5537
+ "require-dev": {
5538
+ "phpunit/phpunit": "^9.0"
5539
+ },
5540
+ "type": "library",
5541
+ "extra": {
5542
+ "branch-alias": {
5543
+ "dev-master": "3.0-dev"
5544
+ }
5545
+ },
5546
+ "autoload": {
5547
+ "classmap": [
5548
+ "src/"
5549
+ ]
5550
+ },
5551
+ "notification-url": "https://packagist.org/downloads/",
5552
+ "license": [
5553
+ "BSD-3-Clause"
5554
+ ],
5555
+ "authors": [
5556
+ {
5557
+ "name": "Sebastian Bergmann",
5558
+ "email": "sebastian@phpunit.de"
5559
+ }
5560
+ ],
5561
+ "description": "Provides a list of PHP built-in functions that operate on resources",
5562
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
5563
+ "support": {
5564
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
5565
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
5566
+ },
5567
+ "funding": [
5568
+ {
5569
+ "url": "https://github.com/sebastianbergmann",
5570
+ "type": "github"
5571
+ }
5572
+ ],
5573
+ "time": "2020-09-28T06:45:17+00:00"
5574
+ },
5575
+ {
5576
+ "name": "sebastian/type",
5577
+ "version": "2.3.4",
5578
+ "source": {
5579
+ "type": "git",
5580
+ "url": "https://github.com/sebastianbergmann/type.git",
5581
+ "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914"
5582
+ },
5583
+ "dist": {
5584
+ "type": "zip",
5585
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914",
5586
+ "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914",
5587
+ "shasum": ""
5588
+ },
5589
+ "require": {
5590
+ "php": ">=7.3"
5591
+ },
5592
+ "require-dev": {
5593
+ "phpunit/phpunit": "^9.3"
5594
+ },
5595
+ "type": "library",
5596
+ "extra": {
5597
+ "branch-alias": {
5598
+ "dev-master": "2.3-dev"
5599
+ }
5600
+ },
5601
+ "autoload": {
5602
+ "classmap": [
5603
+ "src/"
5604
+ ]
5605
+ },
5606
+ "notification-url": "https://packagist.org/downloads/",
5607
+ "license": [
5608
+ "BSD-3-Clause"
5609
+ ],
5610
+ "authors": [
5611
+ {
5612
+ "name": "Sebastian Bergmann",
5613
+ "email": "sebastian@phpunit.de",
5614
+ "role": "lead"
5615
+ }
5616
+ ],
5617
+ "description": "Collection of value objects that represent the types of the PHP type system",
5618
+ "homepage": "https://github.com/sebastianbergmann/type",
5619
+ "support": {
5620
+ "issues": "https://github.com/sebastianbergmann/type/issues",
5621
+ "source": "https://github.com/sebastianbergmann/type/tree/2.3.4"
5622
+ },
5623
+ "funding": [
5624
+ {
5625
+ "url": "https://github.com/sebastianbergmann",
5626
+ "type": "github"
5627
+ }
5628
+ ],
5629
+ "time": "2021-06-15T12:49:02+00:00"
5630
+ },
5631
+ {
5632
+ "name": "sebastian/version",
5633
+ "version": "3.0.2",
5634
+ "source": {
5635
+ "type": "git",
5636
+ "url": "https://github.com/sebastianbergmann/version.git",
5637
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
5638
+ },
5639
+ "dist": {
5640
+ "type": "zip",
5641
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
5642
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
5643
+ "shasum": ""
5644
+ },
5645
+ "require": {
5646
+ "php": ">=7.3"
5647
+ },
5648
+ "type": "library",
5649
+ "extra": {
5650
+ "branch-alias": {
5651
+ "dev-master": "3.0-dev"
5652
+ }
5653
+ },
5654
+ "autoload": {
5655
+ "classmap": [
5656
+ "src/"
5657
+ ]
5658
+ },
5659
+ "notification-url": "https://packagist.org/downloads/",
5660
+ "license": [
5661
+ "BSD-3-Clause"
5662
+ ],
5663
+ "authors": [
5664
+ {
5665
+ "name": "Sebastian Bergmann",
5666
+ "email": "sebastian@phpunit.de",
5667
+ "role": "lead"
5668
+ }
5669
+ ],
5670
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
5671
+ "homepage": "https://github.com/sebastianbergmann/version",
5672
+ "support": {
5673
+ "issues": "https://github.com/sebastianbergmann/version/issues",
5674
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
5675
+ },
5676
+ "funding": [
5677
+ {
5678
+ "url": "https://github.com/sebastianbergmann",
5679
+ "type": "github"
5680
+ }
5681
+ ],
5682
+ "time": "2020-09-28T06:39:44+00:00"
5683
+ },
5684
+ {
5685
+ "name": "softcreatr/jsonpath",
5686
+ "version": "0.7.5",
5687
+ "source": {
5688
+ "type": "git",
5689
+ "url": "https://github.com/SoftCreatR/JSONPath.git",
5690
+ "reference": "008569bf80aa3584834f7890781576bc7b65afa7"
5691
+ },
5692
+ "dist": {
5693
+ "type": "zip",
5694
+ "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/008569bf80aa3584834f7890781576bc7b65afa7",
5695
+ "reference": "008569bf80aa3584834f7890781576bc7b65afa7",
5696
+ "shasum": ""
5697
+ },
5698
+ "require": {
5699
+ "ext-json": "*",
5700
+ "php": ">=7.1"
5701
+ },
5702
+ "replace": {
5703
+ "flow/jsonpath": "*"
5704
+ },
5705
+ "require-dev": {
5706
+ "phpunit/phpunit": ">=7.0",
5707
+ "roave/security-advisories": "dev-master",
5708
+ "squizlabs/php_codesniffer": "^3.5"
5709
+ },
5710
+ "type": "library",
5711
+ "autoload": {
5712
+ "psr-4": {
5713
+ "Flow\\JSONPath\\": "src/"
5714
+ }
5715
+ },
5716
+ "notification-url": "https://packagist.org/downloads/",
5717
+ "license": [
5718
+ "MIT"
5719
+ ],
5720
+ "authors": [
5721
+ {
5722
+ "name": "Stephen Frank",
5723
+ "email": "stephen@flowsa.com",
5724
+ "homepage": "https://prismaticbytes.com",
5725
+ "role": "Developer"
5726
+ },
5727
+ {
5728
+ "name": "Sascha Greuel",
5729
+ "email": "hello@1-2.dev",
5730
+ "homepage": "http://1-2.dev",
5731
+ "role": "Developer"
5732
+ }
5733
+ ],
5734
+ "description": "JSONPath implementation for parsing, searching and flattening arrays",
5735
+ "support": {
5736
+ "email": "hello@1-2.dev",
5737
+ "forum": "https://github.com/SoftCreatR/JSONPath/discussions",
5738
+ "issues": "https://github.com/SoftCreatR/JSONPath/issues",
5739
+ "source": "https://github.com/SoftCreatR/JSONPath"
5740
+ },
5741
+ "funding": [
5742
+ {
5743
+ "url": "https://github.com/softcreatr",
5744
+ "type": "github"
5745
+ }
5746
+ ],
5747
+ "time": "2021-06-02T22:15:26+00:00"
5748
+ },
5749
+ {
5750
+ "name": "squizlabs/php_codesniffer",
5751
+ "version": "3.6.1",
5752
+ "source": {
5753
+ "type": "git",
5754
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
5755
+ "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e"
5756
+ },
5757
+ "dist": {
5758
+ "type": "zip",
5759
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/f268ca40d54617c6e06757f83f699775c9b3ff2e",
5760
+ "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e",
5761
+ "shasum": ""
5762
+ },
5763
+ "require": {
5764
+ "ext-simplexml": "*",
5765
+ "ext-tokenizer": "*",
5766
+ "ext-xmlwriter": "*",
5767
+ "php": ">=5.4.0"
5768
+ },
5769
+ "require-dev": {
5770
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
5771
+ },
5772
+ "bin": [
5773
+ "bin/phpcs",
5774
+ "bin/phpcbf"
5775
+ ],
5776
+ "type": "library",
5777
+ "extra": {
5778
+ "branch-alias": {
5779
+ "dev-master": "3.x-dev"
5780
+ }
5781
+ },
5782
+ "notification-url": "https://packagist.org/downloads/",
5783
+ "license": [
5784
+ "BSD-3-Clause"
5785
+ ],
5786
+ "authors": [
5787
+ {
5788
+ "name": "Greg Sherwood",
5789
+ "role": "lead"
5790
+ }
5791
+ ],
5792
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
5793
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
5794
+ "keywords": [
5795
+ "phpcs",
5796
+ "standards"
5797
+ ],
5798
+ "support": {
5799
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
5800
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
5801
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
5802
+ },
5803
+ "time": "2021-10-11T04:00:11+00:00"
5804
+ },
5805
+ {
5806
+ "name": "symfony/browser-kit",
5807
+ "version": "v5.4.0",
5808
+ "source": {
5809
+ "type": "git",
5810
+ "url": "https://github.com/symfony/browser-kit.git",
5811
+ "reference": "d250db364a35ba5d60626b2a6f10f2eaf2073bde"
5812
+ },
5813
+ "dist": {
5814
+ "type": "zip",
5815
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/d250db364a35ba5d60626b2a6f10f2eaf2073bde",
5816
+ "reference": "d250db364a35ba5d60626b2a6f10f2eaf2073bde",
5817
+ "shasum": ""
5818
+ },
5819
+ "require": {
5820
+ "php": ">=7.2.5",
5821
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
5822
+ "symfony/polyfill-php80": "^1.16"
5823
+ },
5824
+ "require-dev": {
5825
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
5826
+ "symfony/http-client": "^4.4|^5.0|^6.0",
5827
+ "symfony/mime": "^4.4|^5.0|^6.0",
5828
+ "symfony/process": "^4.4|^5.0|^6.0"
5829
+ },
5830
+ "suggest": {
5831
+ "symfony/process": ""
5832
+ },
5833
+ "type": "library",
5834
+ "autoload": {
5835
+ "psr-4": {
5836
+ "Symfony\\Component\\BrowserKit\\": ""
5837
+ },
5838
+ "exclude-from-classmap": [
5839
+ "/Tests/"
5840
+ ]
5841
+ },
5842
+ "notification-url": "https://packagist.org/downloads/",
5843
+ "license": [
5844
+ "MIT"
5845
+ ],
5846
+ "authors": [
5847
+ {
5848
+ "name": "Fabien Potencier",
5849
+ "email": "fabien@symfony.com"
5850
+ },
5851
+ {
5852
+ "name": "Symfony Community",
5853
+ "homepage": "https://symfony.com/contributors"
5854
+ }
5855
+ ],
5856
+ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
5857
+ "homepage": "https://symfony.com",
5858
+ "support": {
5859
+ "source": "https://github.com/symfony/browser-kit/tree/v5.4.0"
5860
+ },
5861
+ "funding": [
5862
+ {
5863
+ "url": "https://symfony.com/sponsor",
5864
+ "type": "custom"
5865
+ },
5866
+ {
5867
+ "url": "https://github.com/fabpot",
5868
+ "type": "github"
5869
+ },
5870
+ {
5871
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
5872
+ "type": "tidelift"
5873
+ }
5874
+ ],
5875
+ "time": "2021-10-26T22:29:18+00:00"
5876
+ },
5877
+ {
5878
+ "name": "symfony/config",
5879
+ "version": "v5.4.0",
5880
+ "source": {
5881
+ "type": "git",
5882
+ "url": "https://github.com/symfony/config.git",
5883
+ "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b"
5884
+ },
5885
+ "dist": {
5886
+ "type": "zip",
5887
+ "url": "https://api.github.com/repos/symfony/config/zipball/e39cf688c80fd79ab0a6a2d05a9facac9b2d534b",
5888
+ "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b",
5889
+ "shasum": ""
5890
+ },
5891
+ "require": {
5892
+ "php": ">=7.2.5",
5893
+ "symfony/deprecation-contracts": "^2.1|^3",
5894
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
5895
+ "symfony/polyfill-ctype": "~1.8",
5896
+ "symfony/polyfill-php80": "^1.16",
5897
+ "symfony/polyfill-php81": "^1.22"
5898
+ },
5899
+ "conflict": {
5900
+ "symfony/finder": "<4.4"
5901
+ },
5902
+ "require-dev": {
5903
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
5904
+ "symfony/finder": "^4.4|^5.0|^6.0",
5905
+ "symfony/messenger": "^4.4|^5.0|^6.0",
5906
+ "symfony/service-contracts": "^1.1|^2|^3",
5907
+ "symfony/yaml": "^4.4|^5.0|^6.0"
5908
+ },
5909
+ "suggest": {
5910
+ "symfony/yaml": "To use the yaml reference dumper"
5911
+ },
5912
+ "type": "library",
5913
+ "autoload": {
5914
+ "psr-4": {
5915
+ "Symfony\\Component\\Config\\": ""
5916
+ },
5917
+ "exclude-from-classmap": [
5918
+ "/Tests/"
5919
+ ]
5920
+ },
5921
+ "notification-url": "https://packagist.org/downloads/",
5922
+ "license": [
5923
+ "MIT"
5924
+ ],
5925
+ "authors": [
5926
+ {
5927
+ "name": "Fabien Potencier",
5928
+ "email": "fabien@symfony.com"
5929
+ },
5930
+ {
5931
+ "name": "Symfony Community",
5932
+ "homepage": "https://symfony.com/contributors"
5933
+ }
5934
+ ],
5935
+ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
5936
+ "homepage": "https://symfony.com",
5937
+ "support": {
5938
+ "source": "https://github.com/symfony/config/tree/v5.4.0"
5939
+ },
5940
+ "funding": [
5941
+ {
5942
+ "url": "https://symfony.com/sponsor",
5943
+ "type": "custom"
5944
+ },
5945
+ {
5946
+ "url": "https://github.com/fabpot",
5947
+ "type": "github"
5948
+ },
5949
+ {
5950
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
5951
+ "type": "tidelift"
5952
+ }
5953
+ ],
5954
+ "time": "2021-11-28T15:25:38+00:00"
5955
+ },
5956
+ {
5957
+ "name": "symfony/console",
5958
+ "version": "v5.1.11",
5959
+ "source": {
5960
+ "type": "git",
5961
+ "url": "https://github.com/symfony/console.git",
5962
+ "reference": "d9a267b621c5082e0a6c659d73633b6fd28a8a08"
5963
+ },
5964
+ "dist": {
5965
+ "type": "zip",
5966
+ "url": "https://api.github.com/repos/symfony/console/zipball/d9a267b621c5082e0a6c659d73633b6fd28a8a08",
5967
+ "reference": "d9a267b621c5082e0a6c659d73633b6fd28a8a08",
5968
+ "shasum": ""
5969
+ },
5970
+ "require": {
5971
+ "php": ">=7.2.5",
5972
+ "symfony/polyfill-mbstring": "~1.0",
5973
+ "symfony/polyfill-php73": "^1.8",
5974
+ "symfony/polyfill-php80": "^1.15",
5975
+ "symfony/service-contracts": "^1.1|^2",
5976
+ "symfony/string": "^5.1"
5977
+ },
5978
+ "conflict": {
5979
+ "symfony/dependency-injection": "<4.4",
5980
+ "symfony/dotenv": "<5.1",
5981
+ "symfony/event-dispatcher": "<4.4",
5982
+ "symfony/lock": "<4.4",
5983
+ "symfony/process": "<4.4"
5984
+ },
5985
+ "provide": {
5986
+ "psr/log-implementation": "1.0"
5987
+ },
5988
+ "require-dev": {
5989
+ "psr/log": "~1.0",
5990
+ "symfony/config": "^4.4|^5.0",
5991
+ "symfony/dependency-injection": "^4.4|^5.0",
5992
+ "symfony/event-dispatcher": "^4.4|^5.0",
5993
+ "symfony/lock": "^4.4|^5.0",
5994
+ "symfony/process": "^4.4|^5.0",
5995
+ "symfony/var-dumper": "^4.4|^5.0"
5996
+ },
5997
+ "suggest": {
5998
+ "psr/log": "For using the console logger",
5999
+ "symfony/event-dispatcher": "",
6000
+ "symfony/lock": "",
6001
+ "symfony/process": ""
6002
+ },
6003
+ "type": "library",
6004
+ "autoload": {
6005
+ "psr-4": {
6006
+ "Symfony\\Component\\Console\\": ""
6007
+ },
6008
+ "exclude-from-classmap": [
6009
+ "/Tests/"
6010
+ ]
6011
+ },
6012
+ "notification-url": "https://packagist.org/downloads/",
6013
+ "license": [
6014
+ "MIT"
6015
+ ],
6016
+ "authors": [
6017
+ {
6018
+ "name": "Fabien Potencier",
6019
+ "email": "fabien@symfony.com"
6020
+ },
6021
+ {
6022
+ "name": "Symfony Community",
6023
+ "homepage": "https://symfony.com/contributors"
6024
+ }
6025
+ ],
6026
+ "description": "Eases the creation of beautiful and testable command line interfaces",
6027
+ "homepage": "https://symfony.com",
6028
+ "support": {
6029
+ "source": "https://github.com/symfony/console/tree/v5.1.11"
6030
+ },
6031
+ "funding": [
6032
+ {
6033
+ "url": "https://symfony.com/sponsor",
6034
+ "type": "custom"
6035
+ },
6036
+ {
6037
+ "url": "https://github.com/fabpot",
6038
+ "type": "github"
6039
+ },
6040
+ {
6041
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6042
+ "type": "tidelift"
6043
+ }
6044
+ ],
6045
+ "time": "2021-01-27T10:01:46+00:00"
6046
+ },
6047
+ {
6048
+ "name": "symfony/css-selector",
6049
+ "version": "v5.4.0",
6050
+ "source": {
6051
+ "type": "git",
6052
+ "url": "https://github.com/symfony/css-selector.git",
6053
+ "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc"
6054
+ },
6055
+ "dist": {
6056
+ "type": "zip",
6057
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/44b933f98bb4b5220d10bed9ce5662f8c2d13dcc",
6058
+ "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc",
6059
+ "shasum": ""
6060
+ },
6061
+ "require": {
6062
+ "php": ">=7.2.5",
6063
+ "symfony/polyfill-php80": "^1.16"
6064
+ },
6065
+ "type": "library",
6066
+ "autoload": {
6067
+ "psr-4": {
6068
+ "Symfony\\Component\\CssSelector\\": ""
6069
+ },
6070
+ "exclude-from-classmap": [
6071
+ "/Tests/"
6072
+ ]
6073
+ },
6074
+ "notification-url": "https://packagist.org/downloads/",
6075
+ "license": [
6076
+ "MIT"
6077
+ ],
6078
+ "authors": [
6079
+ {
6080
+ "name": "Fabien Potencier",
6081
+ "email": "fabien@symfony.com"
6082
+ },
6083
+ {
6084
+ "name": "Jean-François Simon",
6085
+ "email": "jeanfrancois.simon@sensiolabs.com"
6086
+ },
6087
+ {
6088
+ "name": "Symfony Community",
6089
+ "homepage": "https://symfony.com/contributors"
6090
+ }
6091
+ ],
6092
+ "description": "Converts CSS selectors to XPath expressions",
6093
+ "homepage": "https://symfony.com",
6094
+ "support": {
6095
+ "source": "https://github.com/symfony/css-selector/tree/v5.4.0"
6096
+ },
6097
+ "funding": [
6098
+ {
6099
+ "url": "https://symfony.com/sponsor",
6100
+ "type": "custom"
6101
+ },
6102
+ {
6103
+ "url": "https://github.com/fabpot",
6104
+ "type": "github"
6105
+ },
6106
+ {
6107
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6108
+ "type": "tidelift"
6109
+ }
6110
+ ],
6111
+ "time": "2021-09-09T08:06:01+00:00"
6112
+ },
6113
+ {
6114
+ "name": "symfony/dependency-injection",
6115
+ "version": "v5.4.0",
6116
+ "source": {
6117
+ "type": "git",
6118
+ "url": "https://github.com/symfony/dependency-injection.git",
6119
+ "reference": "69c398723857bb19fdea78496cedea0f756decab"
6120
+ },
6121
+ "dist": {
6122
+ "type": "zip",
6123
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/69c398723857bb19fdea78496cedea0f756decab",
6124
+ "reference": "69c398723857bb19fdea78496cedea0f756decab",
6125
+ "shasum": ""
6126
+ },
6127
+ "require": {
6128
+ "php": ">=7.2.5",
6129
+ "psr/container": "^1.1.1",
6130
+ "symfony/deprecation-contracts": "^2.1|^3",
6131
+ "symfony/polyfill-php80": "^1.16",
6132
+ "symfony/polyfill-php81": "^1.22",
6133
+ "symfony/service-contracts": "^1.1.6|^2"
6134
+ },
6135
+ "conflict": {
6136
+ "ext-psr": "<1.1|>=2",
6137
+ "symfony/config": "<5.3",
6138
+ "symfony/finder": "<4.4",
6139
+ "symfony/proxy-manager-bridge": "<4.4",
6140
+ "symfony/yaml": "<4.4"
6141
+ },
6142
+ "provide": {
6143
+ "psr/container-implementation": "1.0",
6144
+ "symfony/service-implementation": "1.0|2.0"
6145
+ },
6146
+ "require-dev": {
6147
+ "symfony/config": "^5.3|^6.0",
6148
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
6149
+ "symfony/yaml": "^4.4|^5.0|^6.0"
6150
+ },
6151
+ "suggest": {
6152
+ "symfony/config": "",
6153
+ "symfony/expression-language": "For using expressions in service container configuration",
6154
+ "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
6155
+ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
6156
+ "symfony/yaml": ""
6157
+ },
6158
+ "type": "library",
6159
+ "autoload": {
6160
+ "psr-4": {
6161
+ "Symfony\\Component\\DependencyInjection\\": ""
6162
+ },
6163
+ "exclude-from-classmap": [
6164
+ "/Tests/"
6165
+ ]
6166
+ },
6167
+ "notification-url": "https://packagist.org/downloads/",
6168
+ "license": [
6169
+ "MIT"
6170
+ ],
6171
+ "authors": [
6172
+ {
6173
+ "name": "Fabien Potencier",
6174
+ "email": "fabien@symfony.com"
6175
+ },
6176
+ {
6177
+ "name": "Symfony Community",
6178
+ "homepage": "https://symfony.com/contributors"
6179
+ }
6180
+ ],
6181
+ "description": "Allows you to standardize and centralize the way objects are constructed in your application",
6182
+ "homepage": "https://symfony.com",
6183
+ "support": {
6184
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.0"
6185
+ },
6186
+ "funding": [
6187
+ {
6188
+ "url": "https://symfony.com/sponsor",
6189
+ "type": "custom"
6190
+ },
6191
+ {
6192
+ "url": "https://github.com/fabpot",
6193
+ "type": "github"
6194
+ },
6195
+ {
6196
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6197
+ "type": "tidelift"
6198
+ }
6199
+ ],
6200
+ "time": "2021-11-29T15:30:56+00:00"
6201
+ },
6202
+ {
6203
+ "name": "symfony/deprecation-contracts",
6204
+ "version": "v2.5.0",
6205
+ "source": {
6206
+ "type": "git",
6207
+ "url": "https://github.com/symfony/deprecation-contracts.git",
6208
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
6209
+ },
6210
+ "dist": {
6211
+ "type": "zip",
6212
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
6213
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
6214
+ "shasum": ""
6215
+ },
6216
+ "require": {
6217
+ "php": ">=7.1"
6218
+ },
6219
+ "type": "library",
6220
+ "extra": {
6221
+ "branch-alias": {
6222
+ "dev-main": "2.5-dev"
6223
+ },
6224
+ "thanks": {
6225
+ "name": "symfony/contracts",
6226
+ "url": "https://github.com/symfony/contracts"
6227
+ }
6228
+ },
6229
+ "autoload": {
6230
+ "files": [
6231
+ "function.php"
6232
+ ]
6233
+ },
6234
+ "notification-url": "https://packagist.org/downloads/",
6235
+ "license": [
6236
+ "MIT"
6237
+ ],
6238
+ "authors": [
6239
+ {
6240
+ "name": "Nicolas Grekas",
6241
+ "email": "p@tchwork.com"
6242
+ },
6243
+ {
6244
+ "name": "Symfony Community",
6245
+ "homepage": "https://symfony.com/contributors"
6246
+ }
6247
+ ],
6248
+ "description": "A generic function and convention to trigger deprecation notices",
6249
+ "homepage": "https://symfony.com",
6250
+ "support": {
6251
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
6252
+ },
6253
+ "funding": [
6254
+ {
6255
+ "url": "https://symfony.com/sponsor",
6256
+ "type": "custom"
6257
+ },
6258
+ {
6259
+ "url": "https://github.com/fabpot",
6260
+ "type": "github"
6261
+ },
6262
+ {
6263
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6264
+ "type": "tidelift"
6265
+ }
6266
+ ],
6267
+ "time": "2021-07-12T14:48:14+00:00"
6268
+ },
6269
+ {
6270
+ "name": "symfony/dom-crawler",
6271
+ "version": "v5.4.0",
6272
+ "source": {
6273
+ "type": "git",
6274
+ "url": "https://github.com/symfony/dom-crawler.git",
6275
+ "reference": "5b06626e940a3ad54e573511d64d4e00dc8d0fd8"
6276
+ },
6277
+ "dist": {
6278
+ "type": "zip",
6279
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5b06626e940a3ad54e573511d64d4e00dc8d0fd8",
6280
+ "reference": "5b06626e940a3ad54e573511d64d4e00dc8d0fd8",
6281
+ "shasum": ""
6282
+ },
6283
+ "require": {
6284
+ "php": ">=7.2.5",
6285
+ "symfony/deprecation-contracts": "^2.1|^3",
6286
+ "symfony/polyfill-ctype": "~1.8",
6287
+ "symfony/polyfill-mbstring": "~1.0",
6288
+ "symfony/polyfill-php80": "^1.16"
6289
+ },
6290
+ "conflict": {
6291
+ "masterminds/html5": "<2.6"
6292
+ },
6293
+ "require-dev": {
6294
+ "masterminds/html5": "^2.6",
6295
+ "symfony/css-selector": "^4.4|^5.0|^6.0"
6296
+ },
6297
+ "suggest": {
6298
+ "symfony/css-selector": ""
6299
+ },
6300
+ "type": "library",
6301
+ "autoload": {
6302
+ "psr-4": {
6303
+ "Symfony\\Component\\DomCrawler\\": ""
6304
+ },
6305
+ "exclude-from-classmap": [
6306
+ "/Tests/"
6307
+ ]
6308
+ },
6309
+ "notification-url": "https://packagist.org/downloads/",
6310
+ "license": [
6311
+ "MIT"
6312
+ ],
6313
+ "authors": [
6314
+ {
6315
+ "name": "Fabien Potencier",
6316
+ "email": "fabien@symfony.com"
6317
+ },
6318
+ {
6319
+ "name": "Symfony Community",
6320
+ "homepage": "https://symfony.com/contributors"
6321
+ }
6322
+ ],
6323
+ "description": "Eases DOM navigation for HTML and XML documents",
6324
+ "homepage": "https://symfony.com",
6325
+ "support": {
6326
+ "source": "https://github.com/symfony/dom-crawler/tree/v5.4.0"
6327
+ },
6328
+ "funding": [
6329
+ {
6330
+ "url": "https://symfony.com/sponsor",
6331
+ "type": "custom"
6332
+ },
6333
+ {
6334
+ "url": "https://github.com/fabpot",
6335
+ "type": "github"
6336
+ },
6337
+ {
6338
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6339
+ "type": "tidelift"
6340
+ }
6341
+ ],
6342
+ "time": "2021-11-23T10:19:22+00:00"
6343
+ },
6344
+ {
6345
+ "name": "symfony/event-dispatcher",
6346
+ "version": "v5.4.0",
6347
+ "source": {
6348
+ "type": "git",
6349
+ "url": "https://github.com/symfony/event-dispatcher.git",
6350
+ "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb"
6351
+ },
6352
+ "dist": {
6353
+ "type": "zip",
6354
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb",
6355
+ "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb",
6356
+ "shasum": ""
6357
+ },
6358
+ "require": {
6359
+ "php": ">=7.2.5",
6360
+ "symfony/deprecation-contracts": "^2.1|^3",
6361
+ "symfony/event-dispatcher-contracts": "^2|^3",
6362
+ "symfony/polyfill-php80": "^1.16"
6363
+ },
6364
+ "conflict": {
6365
+ "symfony/dependency-injection": "<4.4"
6366
+ },
6367
+ "provide": {
6368
+ "psr/event-dispatcher-implementation": "1.0",
6369
+ "symfony/event-dispatcher-implementation": "2.0"
6370
+ },
6371
+ "require-dev": {
6372
+ "psr/log": "^1|^2|^3",
6373
+ "symfony/config": "^4.4|^5.0|^6.0",
6374
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
6375
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
6376
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
6377
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
6378
+ "symfony/service-contracts": "^1.1|^2|^3",
6379
+ "symfony/stopwatch": "^4.4|^5.0|^6.0"
6380
+ },
6381
+ "suggest": {
6382
+ "symfony/dependency-injection": "",
6383
+ "symfony/http-kernel": ""
6384
+ },
6385
+ "type": "library",
6386
+ "autoload": {
6387
+ "psr-4": {
6388
+ "Symfony\\Component\\EventDispatcher\\": ""
6389
+ },
6390
+ "exclude-from-classmap": [
6391
+ "/Tests/"
6392
+ ]
6393
+ },
6394
+ "notification-url": "https://packagist.org/downloads/",
6395
+ "license": [
6396
+ "MIT"
6397
+ ],
6398
+ "authors": [
6399
+ {
6400
+ "name": "Fabien Potencier",
6401
+ "email": "fabien@symfony.com"
6402
+ },
6403
+ {
6404
+ "name": "Symfony Community",
6405
+ "homepage": "https://symfony.com/contributors"
6406
+ }
6407
+ ],
6408
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
6409
+ "homepage": "https://symfony.com",
6410
+ "support": {
6411
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.0"
6412
+ },
6413
+ "funding": [
6414
+ {
6415
+ "url": "https://symfony.com/sponsor",
6416
+ "type": "custom"
6417
+ },
6418
+ {
6419
+ "url": "https://github.com/fabpot",
6420
+ "type": "github"
6421
+ },
6422
+ {
6423
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6424
+ "type": "tidelift"
6425
+ }
6426
+ ],
6427
+ "time": "2021-11-23T10:19:22+00:00"
6428
+ },
6429
+ {
6430
+ "name": "symfony/event-dispatcher-contracts",
6431
+ "version": "v2.5.0",
6432
+ "source": {
6433
+ "type": "git",
6434
+ "url": "https://github.com/symfony/event-dispatcher-contracts.git",
6435
+ "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a"
6436
+ },
6437
+ "dist": {
6438
+ "type": "zip",
6439
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
6440
+ "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
6441
+ "shasum": ""
6442
+ },
6443
+ "require": {
6444
+ "php": ">=7.2.5",
6445
+ "psr/event-dispatcher": "^1"
6446
+ },
6447
+ "suggest": {
6448
+ "symfony/event-dispatcher-implementation": ""
6449
+ },
6450
+ "type": "library",
6451
+ "extra": {
6452
+ "branch-alias": {
6453
+ "dev-main": "2.5-dev"
6454
+ },
6455
+ "thanks": {
6456
+ "name": "symfony/contracts",
6457
+ "url": "https://github.com/symfony/contracts"
6458
+ }
6459
+ },
6460
+ "autoload": {
6461
+ "psr-4": {
6462
+ "Symfony\\Contracts\\EventDispatcher\\": ""
6463
+ }
6464
+ },
6465
+ "notification-url": "https://packagist.org/downloads/",
6466
+ "license": [
6467
+ "MIT"
6468
+ ],
6469
+ "authors": [
6470
+ {
6471
+ "name": "Nicolas Grekas",
6472
+ "email": "p@tchwork.com"
6473
+ },
6474
+ {
6475
+ "name": "Symfony Community",
6476
+ "homepage": "https://symfony.com/contributors"
6477
+ }
6478
+ ],
6479
+ "description": "Generic abstractions related to dispatching event",
6480
+ "homepage": "https://symfony.com",
6481
+ "keywords": [
6482
+ "abstractions",
6483
+ "contracts",
6484
+ "decoupling",
6485
+ "interfaces",
6486
+ "interoperability",
6487
+ "standards"
6488
+ ],
6489
+ "support": {
6490
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0"
6491
+ },
6492
+ "funding": [
6493
+ {
6494
+ "url": "https://symfony.com/sponsor",
6495
+ "type": "custom"
6496
+ },
6497
+ {
6498
+ "url": "https://github.com/fabpot",
6499
+ "type": "github"
6500
+ },
6501
+ {
6502
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6503
+ "type": "tidelift"
6504
+ }
6505
+ ],
6506
+ "time": "2021-07-12T14:48:14+00:00"
6507
+ },
6508
+ {
6509
+ "name": "symfony/filesystem",
6510
+ "version": "v5.4.0",
6511
+ "source": {
6512
+ "type": "git",
6513
+ "url": "https://github.com/symfony/filesystem.git",
6514
+ "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01"
6515
+ },
6516
+ "dist": {
6517
+ "type": "zip",
6518
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/731f917dc31edcffec2c6a777f3698c33bea8f01",
6519
+ "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01",
6520
+ "shasum": ""
6521
+ },
6522
+ "require": {
6523
+ "php": ">=7.2.5",
6524
+ "symfony/polyfill-ctype": "~1.8",
6525
+ "symfony/polyfill-mbstring": "~1.8",
6526
+ "symfony/polyfill-php80": "^1.16"
6527
+ },
6528
+ "type": "library",
6529
+ "autoload": {
6530
+ "psr-4": {
6531
+ "Symfony\\Component\\Filesystem\\": ""
6532
+ },
6533
+ "exclude-from-classmap": [
6534
+ "/Tests/"
6535
+ ]
6536
+ },
6537
+ "notification-url": "https://packagist.org/downloads/",
6538
+ "license": [
6539
+ "MIT"
6540
+ ],
6541
+ "authors": [
6542
+ {
6543
+ "name": "Fabien Potencier",
6544
+ "email": "fabien@symfony.com"
6545
+ },
6546
+ {
6547
+ "name": "Symfony Community",
6548
+ "homepage": "https://symfony.com/contributors"
6549
+ }
6550
+ ],
6551
+ "description": "Provides basic utilities for the filesystem",
6552
+ "homepage": "https://symfony.com",
6553
+ "support": {
6554
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.0"
6555
+ },
6556
+ "funding": [
6557
+ {
6558
+ "url": "https://symfony.com/sponsor",
6559
+ "type": "custom"
6560
+ },
6561
+ {
6562
+ "url": "https://github.com/fabpot",
6563
+ "type": "github"
6564
+ },
6565
+ {
6566
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6567
+ "type": "tidelift"
6568
+ }
6569
+ ],
6570
+ "time": "2021-10-28T13:39:27+00:00"
6571
+ },
6572
+ {
6573
+ "name": "symfony/finder",
6574
+ "version": "v5.4.0",
6575
+ "source": {
6576
+ "type": "git",
6577
+ "url": "https://github.com/symfony/finder.git",
6578
+ "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590"
6579
+ },
6580
+ "dist": {
6581
+ "type": "zip",
6582
+ "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590",
6583
+ "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590",
6584
+ "shasum": ""
6585
+ },
6586
+ "require": {
6587
+ "php": ">=7.2.5",
6588
+ "symfony/deprecation-contracts": "^2.1|^3",
6589
+ "symfony/polyfill-php80": "^1.16"
6590
+ },
6591
+ "type": "library",
6592
+ "autoload": {
6593
+ "psr-4": {
6594
+ "Symfony\\Component\\Finder\\": ""
6595
+ },
6596
+ "exclude-from-classmap": [
6597
+ "/Tests/"
6598
+ ]
6599
+ },
6600
+ "notification-url": "https://packagist.org/downloads/",
6601
+ "license": [
6602
+ "MIT"
6603
+ ],
6604
+ "authors": [
6605
+ {
6606
+ "name": "Fabien Potencier",
6607
+ "email": "fabien@symfony.com"
6608
+ },
6609
+ {
6610
+ "name": "Symfony Community",
6611
+ "homepage": "https://symfony.com/contributors"
6612
+ }
6613
+ ],
6614
+ "description": "Finds files and directories via an intuitive fluent interface",
6615
+ "homepage": "https://symfony.com",
6616
+ "support": {
6617
+ "source": "https://github.com/symfony/finder/tree/v5.4.0"
6618
+ },
6619
+ "funding": [
6620
+ {
6621
+ "url": "https://symfony.com/sponsor",
6622
+ "type": "custom"
6623
+ },
6624
+ {
6625
+ "url": "https://github.com/fabpot",
6626
+ "type": "github"
6627
+ },
6628
+ {
6629
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6630
+ "type": "tidelift"
6631
+ }
6632
+ ],
6633
+ "time": "2021-11-28T15:25:38+00:00"
6634
+ },
6635
+ {
6636
+ "name": "symfony/polyfill-ctype",
6637
+ "version": "v1.23.0",
6638
+ "source": {
6639
+ "type": "git",
6640
+ "url": "https://github.com/symfony/polyfill-ctype.git",
6641
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
6642
+ },
6643
+ "dist": {
6644
+ "type": "zip",
6645
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
6646
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
6647
+ "shasum": ""
6648
+ },
6649
+ "require": {
6650
+ "php": ">=7.1"
6651
+ },
6652
+ "suggest": {
6653
+ "ext-ctype": "For best performance"
6654
+ },
6655
+ "type": "library",
6656
+ "extra": {
6657
+ "branch-alias": {
6658
+ "dev-main": "1.23-dev"
6659
+ },
6660
+ "thanks": {
6661
+ "name": "symfony/polyfill",
6662
+ "url": "https://github.com/symfony/polyfill"
6663
+ }
6664
+ },
6665
+ "autoload": {
6666
+ "psr-4": {
6667
+ "Symfony\\Polyfill\\Ctype\\": ""
6668
+ },
6669
+ "files": [
6670
+ "bootstrap.php"
6671
+ ]
6672
+ },
6673
+ "notification-url": "https://packagist.org/downloads/",
6674
+ "license": [
6675
+ "MIT"
6676
+ ],
6677
+ "authors": [
6678
+ {
6679
+ "name": "Gert de Pagter",
6680
+ "email": "BackEndTea@gmail.com"
6681
+ },
6682
+ {
6683
+ "name": "Symfony Community",
6684
+ "homepage": "https://symfony.com/contributors"
6685
+ }
6686
+ ],
6687
+ "description": "Symfony polyfill for ctype functions",
6688
+ "homepage": "https://symfony.com",
6689
+ "keywords": [
6690
+ "compatibility",
6691
+ "ctype",
6692
+ "polyfill",
6693
+ "portable"
6694
+ ],
6695
+ "support": {
6696
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
6697
+ },
6698
+ "funding": [
6699
+ {
6700
+ "url": "https://symfony.com/sponsor",
6701
+ "type": "custom"
6702
+ },
6703
+ {
6704
+ "url": "https://github.com/fabpot",
6705
+ "type": "github"
6706
+ },
6707
+ {
6708
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6709
+ "type": "tidelift"
6710
+ }
6711
+ ],
6712
+ "time": "2021-02-19T12:13:01+00:00"
6713
+ },
6714
+ {
6715
+ "name": "symfony/polyfill-intl-grapheme",
6716
+ "version": "v1.23.1",
6717
+ "source": {
6718
+ "type": "git",
6719
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
6720
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
6721
+ },
6722
+ "dist": {
6723
+ "type": "zip",
6724
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
6725
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
6726
+ "shasum": ""
6727
+ },
6728
+ "require": {
6729
+ "php": ">=7.1"
6730
+ },
6731
+ "suggest": {
6732
+ "ext-intl": "For best performance"
6733
+ },
6734
+ "type": "library",
6735
+ "extra": {
6736
+ "branch-alias": {
6737
+ "dev-main": "1.23-dev"
6738
+ },
6739
+ "thanks": {
6740
+ "name": "symfony/polyfill",
6741
+ "url": "https://github.com/symfony/polyfill"
6742
+ }
6743
+ },
6744
+ "autoload": {
6745
+ "psr-4": {
6746
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
6747
+ },
6748
+ "files": [
6749
+ "bootstrap.php"
6750
+ ]
6751
+ },
6752
+ "notification-url": "https://packagist.org/downloads/",
6753
+ "license": [
6754
+ "MIT"
6755
+ ],
6756
+ "authors": [
6757
+ {
6758
+ "name": "Nicolas Grekas",
6759
+ "email": "p@tchwork.com"
6760
+ },
6761
+ {
6762
+ "name": "Symfony Community",
6763
+ "homepage": "https://symfony.com/contributors"
6764
+ }
6765
+ ],
6766
+ "description": "Symfony polyfill for intl's grapheme_* functions",
6767
+ "homepage": "https://symfony.com",
6768
+ "keywords": [
6769
+ "compatibility",
6770
+ "grapheme",
6771
+ "intl",
6772
+ "polyfill",
6773
+ "portable",
6774
+ "shim"
6775
+ ],
6776
+ "support": {
6777
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
6778
+ },
6779
+ "funding": [
6780
+ {
6781
+ "url": "https://symfony.com/sponsor",
6782
+ "type": "custom"
6783
+ },
6784
+ {
6785
+ "url": "https://github.com/fabpot",
6786
+ "type": "github"
6787
+ },
6788
+ {
6789
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6790
+ "type": "tidelift"
6791
+ }
6792
+ ],
6793
+ "time": "2021-05-27T12:26:48+00:00"
6794
+ },
6795
+ {
6796
+ "name": "symfony/polyfill-intl-normalizer",
6797
+ "version": "v1.23.0",
6798
+ "source": {
6799
+ "type": "git",
6800
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
6801
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
6802
+ },
6803
+ "dist": {
6804
+ "type": "zip",
6805
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
6806
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
6807
+ "shasum": ""
6808
+ },
6809
+ "require": {
6810
+ "php": ">=7.1"
6811
+ },
6812
+ "suggest": {
6813
+ "ext-intl": "For best performance"
6814
+ },
6815
+ "type": "library",
6816
+ "extra": {
6817
+ "branch-alias": {
6818
+ "dev-main": "1.23-dev"
6819
+ },
6820
+ "thanks": {
6821
+ "name": "symfony/polyfill",
6822
+ "url": "https://github.com/symfony/polyfill"
6823
+ }
6824
+ },
6825
+ "autoload": {
6826
+ "psr-4": {
6827
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
6828
+ },
6829
+ "files": [
6830
+ "bootstrap.php"
6831
+ ],
6832
+ "classmap": [
6833
+ "Resources/stubs"
6834
+ ]
6835
+ },
6836
+ "notification-url": "https://packagist.org/downloads/",
6837
+ "license": [
6838
+ "MIT"
6839
+ ],
6840
+ "authors": [
6841
+ {
6842
+ "name": "Nicolas Grekas",
6843
+ "email": "p@tchwork.com"
6844
+ },
6845
+ {
6846
+ "name": "Symfony Community",
6847
+ "homepage": "https://symfony.com/contributors"
6848
+ }
6849
+ ],
6850
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
6851
+ "homepage": "https://symfony.com",
6852
+ "keywords": [
6853
+ "compatibility",
6854
+ "intl",
6855
+ "normalizer",
6856
+ "polyfill",
6857
+ "portable",
6858
+ "shim"
6859
+ ],
6860
+ "support": {
6861
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
6862
+ },
6863
+ "funding": [
6864
+ {
6865
+ "url": "https://symfony.com/sponsor",
6866
+ "type": "custom"
6867
+ },
6868
+ {
6869
+ "url": "https://github.com/fabpot",
6870
+ "type": "github"
6871
+ },
6872
+ {
6873
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6874
+ "type": "tidelift"
6875
+ }
6876
+ ],
6877
+ "time": "2021-02-19T12:13:01+00:00"
6878
+ },
6879
+ {
6880
+ "name": "symfony/polyfill-mbstring",
6881
+ "version": "v1.23.1",
6882
+ "source": {
6883
+ "type": "git",
6884
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
6885
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
6886
+ },
6887
+ "dist": {
6888
+ "type": "zip",
6889
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
6890
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
6891
+ "shasum": ""
6892
+ },
6893
+ "require": {
6894
+ "php": ">=7.1"
6895
+ },
6896
+ "suggest": {
6897
+ "ext-mbstring": "For best performance"
6898
+ },
6899
+ "type": "library",
6900
+ "extra": {
6901
+ "branch-alias": {
6902
+ "dev-main": "1.23-dev"
6903
+ },
6904
+ "thanks": {
6905
+ "name": "symfony/polyfill",
6906
+ "url": "https://github.com/symfony/polyfill"
6907
+ }
6908
+ },
6909
+ "autoload": {
6910
+ "psr-4": {
6911
+ "Symfony\\Polyfill\\Mbstring\\": ""
6912
+ },
6913
+ "files": [
6914
+ "bootstrap.php"
6915
+ ]
6916
+ },
6917
+ "notification-url": "https://packagist.org/downloads/",
6918
+ "license": [
6919
+ "MIT"
6920
+ ],
6921
+ "authors": [
6922
+ {
6923
+ "name": "Nicolas Grekas",
6924
+ "email": "p@tchwork.com"
6925
+ },
6926
+ {
6927
+ "name": "Symfony Community",
6928
+ "homepage": "https://symfony.com/contributors"
6929
+ }
6930
+ ],
6931
+ "description": "Symfony polyfill for the Mbstring extension",
6932
+ "homepage": "https://symfony.com",
6933
+ "keywords": [
6934
+ "compatibility",
6935
+ "mbstring",
6936
+ "polyfill",
6937
+ "portable",
6938
+ "shim"
6939
+ ],
6940
+ "support": {
6941
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
6942
+ },
6943
+ "funding": [
6944
+ {
6945
+ "url": "https://symfony.com/sponsor",
6946
+ "type": "custom"
6947
+ },
6948
+ {
6949
+ "url": "https://github.com/fabpot",
6950
+ "type": "github"
6951
+ },
6952
+ {
6953
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
6954
+ "type": "tidelift"
6955
+ }
6956
+ ],
6957
+ "time": "2021-05-27T12:26:48+00:00"
6958
+ },
6959
+ {
6960
+ "name": "symfony/polyfill-php73",
6961
+ "version": "v1.23.0",
6962
+ "source": {
6963
+ "type": "git",
6964
+ "url": "https://github.com/symfony/polyfill-php73.git",
6965
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
6966
+ },
6967
+ "dist": {
6968
+ "type": "zip",
6969
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
6970
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
6971
+ "shasum": ""
6972
+ },
6973
+ "require": {
6974
+ "php": ">=7.1"
6975
+ },
6976
+ "type": "library",
6977
+ "extra": {
6978
+ "branch-alias": {
6979
+ "dev-main": "1.23-dev"
6980
+ },
6981
+ "thanks": {
6982
+ "name": "symfony/polyfill",
6983
+ "url": "https://github.com/symfony/polyfill"
6984
+ }
6985
+ },
6986
+ "autoload": {
6987
+ "psr-4": {
6988
+ "Symfony\\Polyfill\\Php73\\": ""
6989
+ },
6990
+ "files": [
6991
+ "bootstrap.php"
6992
+ ],
6993
+ "classmap": [
6994
+ "Resources/stubs"
6995
+ ]
6996
+ },
6997
+ "notification-url": "https://packagist.org/downloads/",
6998
+ "license": [
6999
+ "MIT"
7000
+ ],
7001
+ "authors": [
7002
+ {
7003
+ "name": "Nicolas Grekas",
7004
+ "email": "p@tchwork.com"
7005
+ },
7006
+ {
7007
+ "name": "Symfony Community",
7008
+ "homepage": "https://symfony.com/contributors"
7009
+ }
7010
+ ],
7011
+ "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
7012
+ "homepage": "https://symfony.com",
7013
+ "keywords": [
7014
+ "compatibility",
7015
+ "polyfill",
7016
+ "portable",
7017
+ "shim"
7018
+ ],
7019
+ "support": {
7020
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
7021
+ },
7022
+ "funding": [
7023
+ {
7024
+ "url": "https://symfony.com/sponsor",
7025
+ "type": "custom"
7026
+ },
7027
+ {
7028
+ "url": "https://github.com/fabpot",
7029
+ "type": "github"
7030
+ },
7031
+ {
7032
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
7033
+ "type": "tidelift"
7034
+ }
7035
+ ],
7036
+ "time": "2021-02-19T12:13:01+00:00"
7037
+ },
7038
+ {
7039
+ "name": "symfony/polyfill-php80",
7040
+ "version": "v1.23.1",
7041
+ "source": {
7042
+ "type": "git",
7043
+ "url": "https://github.com/symfony/polyfill-php80.git",
7044
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
7045
+ },
7046
+ "dist": {
7047
+ "type": "zip",
7048
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
7049
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
7050
+ "shasum": ""
7051
+ },
7052
+ "require": {
7053
+ "php": ">=7.1"
7054
+ },
7055
+ "type": "library",
7056
+ "extra": {
7057
+ "branch-alias": {
7058
+ "dev-main": "1.23-dev"
7059
+ },
7060
+ "thanks": {
7061
+ "name": "symfony/polyfill",
7062
+ "url": "https://github.com/symfony/polyfill"
7063
+ }
7064
+ },
7065
+ "autoload": {
7066
+ "psr-4": {
7067
+ "Symfony\\Polyfill\\Php80\\": ""
7068
+ },
7069
+ "files": [
7070
+ "bootstrap.php"
7071
+ ],
7072
+ "classmap": [
7073
+ "Resources/stubs"
7074
+ ]
7075
+ },
7076
+ "notification-url": "https://packagist.org/downloads/",
7077
+ "license": [
7078
+ "MIT"
7079
+ ],
7080
+ "authors": [
7081
+ {
7082
+ "name": "Ion Bazan",
7083
+ "email": "ion.bazan@gmail.com"
7084
+ },
7085
+ {
7086
+ "name": "Nicolas Grekas",
7087
+ "email": "p@tchwork.com"
7088
+ },
7089
+ {
7090
+ "name": "Symfony Community",
7091
+ "homepage": "https://symfony.com/contributors"
7092
+ }
7093
+ ],
7094
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
7095
+ "homepage": "https://symfony.com",
7096
+ "keywords": [
7097
+ "compatibility",
7098
+ "polyfill",
7099
+ "portable",
7100
+ "shim"
7101
+ ],
7102
+ "support": {
7103
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
7104
+ },
7105
+ "funding": [
7106
+ {
7107
+ "url": "https://symfony.com/sponsor",
7108
+ "type": "custom"
7109
+ },
7110
+ {
7111
+ "url": "https://github.com/fabpot",
7112
+ "type": "github"
7113
+ },
7114
+ {
7115
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
7116
+ "type": "tidelift"
7117
+ }
7118
+ ],
7119
+ "time": "2021-07-28T13:41:28+00:00"
7120
+ },
7121
+ {
7122
+ "name": "symfony/polyfill-php81",
7123
+ "version": "v1.23.0",
7124
+ "source": {
7125
+ "type": "git",
7126
+ "url": "https://github.com/symfony/polyfill-php81.git",
7127
+ "reference": "e66119f3de95efc359483f810c4c3e6436279436"
7128
+ },
7129
+ "dist": {
7130
+ "type": "zip",
7131
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436",
7132
+ "reference": "e66119f3de95efc359483f810c4c3e6436279436",
7133
+ "shasum": ""
7134
+ },
7135
+ "require": {
7136
+ "php": ">=7.1"
7137
+ },
7138
+ "type": "library",
7139
+ "extra": {
7140
+ "branch-alias": {
7141
+ "dev-main": "1.23-dev"
7142
+ },
7143
+ "thanks": {
7144
+ "name": "symfony/polyfill",
7145
+ "url": "https://github.com/symfony/polyfill"
7146
+ }
7147
+ },
7148
+ "autoload": {
7149
+ "psr-4": {
7150
+ "Symfony\\Polyfill\\Php81\\": ""
7151
+ },
7152
+ "files": [
7153
+ "bootstrap.php"
7154
+ ],
7155
+ "classmap": [
7156
+ "Resources/stubs"
7157
+ ]
7158
+ },
7159
+ "notification-url": "https://packagist.org/downloads/",
7160
+ "license": [
7161
+ "MIT"
7162
+ ],
7163
+ "authors": [
7164
+ {
7165
+ "name": "Nicolas Grekas",
7166
+ "email": "p@tchwork.com"
7167
+ },
7168
+ {
7169
+ "name": "Symfony Community",
7170
+ "homepage": "https://symfony.com/contributors"
7171
+ }
7172
+ ],
7173
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
7174
+ "homepage": "https://symfony.com",
7175
+ "keywords": [
7176
+ "compatibility",
7177
+ "polyfill",
7178
+ "portable",
7179
+ "shim"
7180
+ ],
7181
+ "support": {
7182
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0"
7183
+ },
7184
+ "funding": [
7185
+ {
7186
+ "url": "https://symfony.com/sponsor",
7187
+ "type": "custom"
7188
+ },
7189
+ {
7190
+ "url": "https://github.com/fabpot",
7191
+ "type": "github"
7192
+ },
7193
+ {
7194
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
7195
+ "type": "tidelift"
7196
+ }
7197
+ ],
7198
+ "time": "2021-05-21T13:25:03+00:00"
7199
+ },
7200
+ {
7201
+ "name": "symfony/process",
7202
+ "version": "v5.4.0",
7203
+ "source": {
7204
+ "type": "git",
7205
+ "url": "https://github.com/symfony/process.git",
7206
+ "reference": "5be20b3830f726e019162b26223110c8f47cf274"
7207
+ },
7208
+ "dist": {
7209
+ "type": "zip",
7210
+ "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274",
7211
+ "reference": "5be20b3830f726e019162b26223110c8f47cf274",
7212
+ "shasum": ""
7213
+ },
7214
+ "require": {
7215
+ "php": ">=7.2.5",
7216
+ "symfony/polyfill-php80": "^1.16"
7217
+ },
7218
+ "type": "library",
7219
+ "autoload": {
7220
+ "psr-4": {
7221
+ "Symfony\\Component\\Process\\": ""
7222
+ },
7223
+ "exclude-from-classmap": [
7224
+ "/Tests/"
7225
+ ]
7226
+ },
7227
+ "notification-url": "https://packagist.org/downloads/",
7228
+ "license": [
7229
+ "MIT"
7230
+ ],
7231
+ "authors": [
7232
+ {
7233
+ "name": "Fabien Potencier",
7234
+ "email": "fabien@symfony.com"
7235
+ },
7236
+ {
7237
+ "name": "Symfony Community",
7238
+ "homepage": "https://symfony.com/contributors"
7239
+ }
7240
+ ],
7241
+ "description": "Executes commands in sub-processes",
7242
+ "homepage": "https://symfony.com",
7243
+ "support": {
7244
+ "source": "https://github.com/symfony/process/tree/v5.4.0"
7245
+ },
7246
+ "funding": [
7247
+ {
7248
+ "url": "https://symfony.com/sponsor",
7249
+ "type": "custom"
7250
+ },
7251
+ {
7252
+ "url": "https://github.com/fabpot",
7253
+ "type": "github"
7254
+ },
7255
+ {
7256
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
7257
+ "type": "tidelift"
7258
+ }
7259
+ ],
7260
+ "time": "2021-11-28T15:25:38+00:00"
7261
+ },
7262
+ {
7263
+ "name": "symfony/service-contracts",
7264
+ "version": "v2.5.0",
7265
+ "source": {
7266
+ "type": "git",
7267
+ "url": "https://github.com/symfony/service-contracts.git",
7268
+ "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc"
7269
+ },
7270
+ "dist": {
7271
+ "type": "zip",
7272
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
7273
+ "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
7274
+ "shasum": ""
7275
+ },
7276
+ "require": {
7277
+ "php": ">=7.2.5",
7278
+ "psr/container": "^1.1",
7279
+ "symfony/deprecation-contracts": "^2.1"
7280
+ },
7281
+ "conflict": {
7282
+ "ext-psr": "<1.1|>=2"
7283
+ },
7284
+ "suggest": {
7285
+ "symfony/service-implementation": ""
7286
+ },
7287
+ "type": "library",
7288
+ "extra": {
7289
+ "branch-alias": {
7290
+ "dev-main": "2.5-dev"
7291
+ },
7292
+ "thanks": {
7293
+ "name": "symfony/contracts",
7294
+ "url": "https://github.com/symfony/contracts"
7295
+ }
7296
+ },
7297
+ "autoload": {
7298
+ "psr-4": {
7299
+ "Symfony\\Contracts\\Service\\": ""
7300
+ }
7301
+ },
7302
+ "notification-url": "https://packagist.org/downloads/",
7303
+ "license": [
7304
+ "MIT"
7305
+ ],
7306
+ "authors": [
7307
+ {
7308
+ "name": "Nicolas Grekas",
7309
+ "email": "p@tchwork.com"
7310
+ },
7311
+ {
7312
+ "name": "Symfony Community",
7313
+ "homepage": "https://symfony.com/contributors"
7314
+ }
7315
+ ],
7316
+ "description": "Generic abstractions related to writing services",
7317
+ "homepage": "https://symfony.com",
7318
+ "keywords": [
7319
+ "abstractions",
7320
+ "contracts",
7321
+ "decoupling",
7322
+ "interfaces",
7323
+ "interoperability",
7324
+ "standards"
7325
+ ],
7326
+ "support": {
7327
+ "source": "https://github.com/symfony/service-contracts/tree/v2.5.0"
7328
+ },
7329
+ "funding": [
7330
+ {
7331
+ "url": "https://symfony.com/sponsor",
7332
+ "type": "custom"
7333
+ },
7334
+ {
7335
+ "url": "https://github.com/fabpot",
7336
+ "type": "github"
7337
+ },
7338
+ {
7339
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
7340
+ "type": "tidelift"
7341
+ }
7342
+ ],
7343
+ "time": "2021-11-04T16:48:04+00:00"
7344
+ },
7345
+ {
7346
+ "name": "symfony/string",
7347
+ "version": "v5.4.0",
7348
+ "source": {
7349
+ "type": "git",
7350
+ "url": "https://github.com/symfony/string.git",
7351
+ "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d"
7352
+ },
7353
+ "dist": {
7354
+ "type": "zip",
7355
+ "url": "https://api.github.com/repos/symfony/string/zipball/9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d",
7356
+ "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d",
7357
+ "shasum": ""
7358
+ },
7359
+ "require": {
7360
+ "php": ">=7.2.5",
7361
+ "symfony/polyfill-ctype": "~1.8",
7362
+ "symfony/polyfill-intl-grapheme": "~1.0",
7363
+ "symfony/polyfill-intl-normalizer": "~1.0",
7364
+ "symfony/polyfill-mbstring": "~1.0",
7365
+ "symfony/polyfill-php80": "~1.15"
7366
+ },
7367
+ "conflict": {
7368
+ "symfony/translation-contracts": ">=3.0"
7369
+ },
7370
+ "require-dev": {
7371
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
7372
+ "symfony/http-client": "^4.4|^5.0|^6.0",
7373
+ "symfony/translation-contracts": "^1.1|^2",
7374
+ "symfony/var-exporter": "^4.4|^5.0|^6.0"
7375
+ },
7376
+ "type": "library",
7377
+ "autoload": {
7378
+ "psr-4": {
7379
+ "Symfony\\Component\\String\\": ""
7380
+ },
7381
+ "files": [
7382
+ "Resources/functions.php"
7383
+ ],
7384
+ "exclude-from-classmap": [
7385
+ "/Tests/"
7386
+ ]
7387
+ },
7388
+ "notification-url": "https://packagist.org/downloads/",
7389
+ "license": [
7390
+ "MIT"
7391
+ ],
7392
+ "authors": [
7393
+ {
7394
+ "name": "Nicolas Grekas",
7395
+ "email": "p@tchwork.com"
7396
+ },
7397
+ {
7398
+ "name": "Symfony Community",
7399
+ "homepage": "https://symfony.com/contributors"
7400
+ }
7401
+ ],
7402
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
7403
+ "homepage": "https://symfony.com",
7404
+ "keywords": [
7405
+ "grapheme",
7406
+ "i18n",
7407
+ "string",
7408
+ "unicode",
7409
+ "utf-8",
7410
+ "utf8"
7411
+ ],
7412
+ "support": {
7413
+ "source": "https://github.com/symfony/string/tree/v5.4.0"
7414
+ },
7415
+ "funding": [
7416
+ {
7417
+ "url": "https://symfony.com/sponsor",
7418
+ "type": "custom"
7419
+ },
7420
+ {
7421
+ "url": "https://github.com/fabpot",
7422
+ "type": "github"
7423
+ },
7424
+ {
7425
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
7426
+ "type": "tidelift"
7427
+ }
7428
+ ],
7429
+ "time": "2021-11-24T10:02:00+00:00"
7430
+ },
7431
+ {
7432
+ "name": "symfony/translation",
7433
+ "version": "v5.3.11",
7434
+ "source": {
7435
+ "type": "git",
7436
+ "url": "https://github.com/symfony/translation.git",
7437
+ "reference": "17a965c8f3b1b348cf15d903ac53942984561f8a"
7438
+ },
7439
+ "dist": {
7440
+ "type": "zip",
7441
+ "url": "https://api.github.com/repos/symfony/translation/zipball/17a965c8f3b1b348cf15d903ac53942984561f8a",
7442
+ "reference": "17a965c8f3b1b348cf15d903ac53942984561f8a",
7443
+ "shasum": ""
7444
+ },
7445
+ "require": {
7446
+ "php": ">=7.2.5",
7447
+ "symfony/deprecation-contracts": "^2.1",
7448
+ "symfony/polyfill-mbstring": "~1.0",
7449
+ "symfony/polyfill-php80": "^1.16",
7450
+ "symfony/translation-contracts": "^2.3"
7451
+ },
7452
+ "conflict": {
7453
+ "symfony/config": "<4.4",
7454
+ "symfony/dependency-injection": "<5.0",
7455
+ "symfony/http-kernel": "<5.0",
7456
+ "symfony/twig-bundle": "<5.0",
7457
+ "symfony/yaml": "<4.4"
7458
+ },
7459
+ "provide": {
7460
+ "symfony/translation-implementation": "2.3"
7461
+ },
7462
+ "require-dev": {
7463
+ "psr/log": "^1|^2|^3",
7464
+ "symfony/config": "^4.4|^5.0",
7465
+ "symfony/console": "^4.4|^5.0",
7466
+ "symfony/dependency-injection": "^5.0",
7467
+ "symfony/finder": "^4.4|^5.0",
7468
+ "symfony/http-kernel": "^5.0",
7469
+ "symfony/intl": "^4.4|^5.0",
7470
+ "symfony/polyfill-intl-icu": "^1.21",
7471
+ "symfony/service-contracts": "^1.1.2|^2",
7472
+ "symfony/yaml": "^4.4|^5.0"
7473
+ },
7474
+ "suggest": {
7475
+ "psr/log-implementation": "To use logging capability in translator",
7476
+ "symfony/config": "",
7477
+ "symfony/yaml": ""
7478
+ },
7479
+ "type": "library",
7480
+ "autoload": {
7481
+ "files": [
7482
+ "Resources/functions.php"
7483
+ ],
7484
+ "psr-4": {
7485
+ "Symfony\\Component\\Translation\\": ""
7486
+ },
7487
+ "exclude-from-classmap": [
7488
+ "/Tests/"
7489
+ ]
7490
+ },
7491
+ "notification-url": "https://packagist.org/downloads/",
7492
+ "license": [
7493
+ "MIT"
7494
+ ],
7495
+ "authors": [
7496
+ {
7497
+ "name": "Fabien Potencier",
7498
+ "email": "fabien@symfony.com"
7499
+ },
7500
+ {
7501
+ "name": "Symfony Community",
7502
+ "homepage": "https://symfony.com/contributors"
7503
+ }
7504
+ ],
7505
+ "description": "Provides tools to internationalize your application",
7506
+ "homepage": "https://symfony.com",
7507
+ "support": {
7508
+ "source": "https://github.com/symfony/translation/tree/v5.3.11"
7509
+ },
7510
+ "funding": [
7511
  {
7512
  "url": "https://symfony.com/sponsor",
7513
  "type": "custom"
7521
  "type": "tidelift"
7522
  }
7523
  ],
7524
+ "time": "2021-11-04T16:37:19+00:00"
7525
  },
7526
  {
7527
+ "name": "symfony/translation-contracts",
7528
+ "version": "v2.5.0",
7529
  "source": {
7530
  "type": "git",
7531
+ "url": "https://github.com/symfony/translation-contracts.git",
7532
+ "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e"
7533
  },
7534
  "dist": {
7535
  "type": "zip",
7536
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e",
7537
+ "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e",
7538
  "shasum": ""
7539
  },
7540
  "require": {
7541
+ "php": ">=7.2.5"
7542
  },
7543
  "suggest": {
7544
+ "symfony/translation-implementation": ""
7545
  },
7546
  "type": "library",
7547
  "extra": {
7548
  "branch-alias": {
7549
+ "dev-main": "2.5-dev"
7550
  },
7551
  "thanks": {
7552
+ "name": "symfony/contracts",
7553
+ "url": "https://github.com/symfony/contracts"
7554
  }
7555
  },
7556
  "autoload": {
7557
  "psr-4": {
7558
+ "Symfony\\Contracts\\Translation\\": ""
7559
+ }
 
 
 
7560
  },
7561
  "notification-url": "https://packagist.org/downloads/",
7562
  "license": [
7572
  "homepage": "https://symfony.com/contributors"
7573
  }
7574
  ],
7575
+ "description": "Generic abstractions related to translation",
7576
  "homepage": "https://symfony.com",
7577
  "keywords": [
7578
+ "abstractions",
7579
+ "contracts",
7580
+ "decoupling",
7581
+ "interfaces",
7582
+ "interoperability",
7583
+ "standards"
7584
  ],
7585
  "support": {
7586
+ "source": "https://github.com/symfony/translation-contracts/tree/v2.5.0"
7587
  },
7588
  "funding": [
7589
  {
7599
  "type": "tidelift"
7600
  }
7601
  ],
7602
+ "time": "2021-08-17T14:20:01+00:00"
7603
  },
7604
  {
7605
+ "name": "symfony/yaml",
7606
+ "version": "v5.3.11",
7607
  "source": {
7608
  "type": "git",
7609
+ "url": "https://github.com/symfony/yaml.git",
7610
+ "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a"
7611
  },
7612
  "dist": {
7613
  "type": "zip",
7614
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/226638aa877bc4104e619a15f27d8141cd6b4e4a",
7615
+ "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a",
7616
  "shasum": ""
7617
  },
7618
  "require": {
7619
+ "php": ">=7.2.5",
7620
+ "symfony/deprecation-contracts": "^2.1",
7621
+ "symfony/polyfill-ctype": "~1.8"
7622
+ },
7623
+ "conflict": {
7624
+ "symfony/console": "<4.4"
7625
+ },
7626
+ "require-dev": {
7627
+ "symfony/console": "^4.4|^5.0"
7628
  },
7629
  "suggest": {
7630
+ "symfony/console": "For validating YAML files using the lint command"
7631
  },
7632
+ "bin": [
7633
+ "Resources/bin/yaml-lint"
7634
+ ],
7635
  "type": "library",
 
 
 
 
 
 
 
 
 
7636
  "autoload": {
7637
  "psr-4": {
7638
+ "Symfony\\Component\\Yaml\\": ""
7639
  },
7640
+ "exclude-from-classmap": [
7641
+ "/Tests/"
 
 
 
7642
  ]
7643
  },
7644
  "notification-url": "https://packagist.org/downloads/",
7647
  ],
7648
  "authors": [
7649
  {
7650
+ "name": "Fabien Potencier",
7651
+ "email": "fabien@symfony.com"
7652
  },
7653
  {
7654
  "name": "Symfony Community",
7655
  "homepage": "https://symfony.com/contributors"
7656
  }
7657
  ],
7658
+ "description": "Loads and dumps YAML files",
7659
  "homepage": "https://symfony.com",
 
 
 
 
 
 
 
 
7660
  "support": {
7661
+ "source": "https://github.com/symfony/yaml/tree/v5.3.11"
7662
  },
7663
  "funding": [
7664
  {
7674
  "type": "tidelift"
7675
  }
7676
  ],
7677
+ "time": "2021-11-20T16:42:42+00:00"
7678
  },
7679
  {
7680
+ "name": "theseer/fdomdocument",
7681
+ "version": "1.6.6",
7682
  "source": {
7683
  "type": "git",
7684
+ "url": "https://github.com/theseer/fDOMDocument.git",
7685
+ "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca"
7686
  },
7687
  "dist": {
7688
  "type": "zip",
7689
+ "url": "https://api.github.com/repos/theseer/fDOMDocument/zipball/6e8203e40a32a9c770bcb62fe37e68b948da6dca",
7690
+ "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca",
7691
  "shasum": ""
7692
  },
7693
  "require": {
7694
+ "ext-dom": "*",
7695
+ "lib-libxml": "*",
7696
+ "php": ">=5.3.3"
 
7697
  },
7698
  "type": "library",
7699
+ "autoload": {
7700
+ "classmap": [
7701
+ "src/"
7702
+ ]
7703
+ },
7704
+ "notification-url": "https://packagist.org/downloads/",
7705
+ "license": [
7706
+ "BSD-3-Clause"
7707
+ ],
7708
+ "authors": [
7709
+ {
7710
+ "name": "Arne Blankerts",
7711
+ "email": "arne@blankerts.de",
7712
+ "role": "lead"
7713
  }
7714
+ ],
7715
+ "description": "The classes contained within this repository extend the standard DOM to use exceptions at all occasions of errors instead of PHP warnings or notices. They also add various custom methods and shortcuts for convenience and to simplify the usage of DOM.",
7716
+ "homepage": "https://github.com/theseer/fDOMDocument",
7717
+ "support": {
7718
+ "issues": "https://github.com/theseer/fDOMDocument/issues",
7719
+ "source": "https://github.com/theseer/fDOMDocument/tree/master"
7720
+ },
7721
+ "time": "2017-06-30T11:53:12+00:00"
7722
+ },
7723
+ {
7724
+ "name": "theseer/tokenizer",
7725
+ "version": "1.2.1",
7726
+ "source": {
7727
+ "type": "git",
7728
+ "url": "https://github.com/theseer/tokenizer.git",
7729
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
7730
+ },
7731
+ "dist": {
7732
+ "type": "zip",
7733
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
7734
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
7735
+ "shasum": ""
7736
+ },
7737
+ "require": {
7738
+ "ext-dom": "*",
7739
+ "ext-tokenizer": "*",
7740
+ "ext-xmlwriter": "*",
7741
+ "php": "^7.2 || ^8.0"
7742
  },
7743
+ "type": "library",
7744
  "autoload": {
7745
+ "classmap": [
7746
+ "src/"
 
 
 
7747
  ]
7748
  },
7749
  "notification-url": "https://packagist.org/downloads/",
7750
  "license": [
7751
+ "BSD-3-Clause"
7752
  ],
7753
  "authors": [
7754
  {
7755
+ "name": "Arne Blankerts",
7756
+ "email": "arne@blankerts.de",
7757
+ "role": "Developer"
 
 
 
7758
  }
7759
  ],
7760
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
 
 
 
 
 
 
 
 
7761
  "support": {
7762
+ "issues": "https://github.com/theseer/tokenizer/issues",
7763
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
7764
  },
7765
  "funding": [
7766
  {
7767
+ "url": "https://github.com/theseer",
 
 
 
 
7768
  "type": "github"
 
 
 
 
7769
  }
7770
  ],
7771
+ "time": "2021-07-28T10:34:58+00:00"
7772
  },
7773
  {
7774
+ "name": "voku/portable-ascii",
7775
+ "version": "1.5.6",
7776
  "source": {
7777
  "type": "git",
7778
+ "url": "https://github.com/voku/portable-ascii.git",
7779
+ "reference": "80953678b19901e5165c56752d087fc11526017c"
7780
  },
7781
  "dist": {
7782
  "type": "zip",
7783
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c",
7784
+ "reference": "80953678b19901e5165c56752d087fc11526017c",
7785
  "shasum": ""
7786
  },
7787
  "require": {
7788
+ "php": ">=7.0.0"
7789
  },
7790
+ "require-dev": {
7791
+ "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0"
7792
+ },
7793
+ "suggest": {
7794
+ "ext-intl": "Use Intl for transliterator_transliterate() support"
 
 
 
 
7795
  },
7796
+ "type": "library",
7797
  "autoload": {
7798
  "psr-4": {
7799
+ "voku\\": "src/voku/"
7800
+ }
 
 
 
 
 
 
7801
  },
7802
  "notification-url": "https://packagist.org/downloads/",
7803
  "license": [
7805
  ],
7806
  "authors": [
7807
  {
7808
+ "name": "Lars Moelleken",
7809
+ "homepage": "http://www.moelleken.org/"
 
 
 
 
7810
  }
7811
  ],
7812
+ "description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
7813
+ "homepage": "https://github.com/voku/portable-ascii",
7814
  "keywords": [
7815
+ "ascii",
7816
+ "clean",
7817
+ "php"
 
7818
  ],
7819
  "support": {
7820
+ "issues": "https://github.com/voku/portable-ascii/issues",
7821
+ "source": "https://github.com/voku/portable-ascii/tree/1.5.6"
7822
  },
7823
  "funding": [
7824
  {
7825
+ "url": "https://www.paypal.me/moelleken",
7826
  "type": "custom"
7827
  },
7828
  {
7829
+ "url": "https://github.com/voku",
7830
  "type": "github"
7831
  },
7832
  {
7833
+ "url": "https://opencollective.com/portable-ascii",
7834
+ "type": "open_collective"
7835
+ },
7836
+ {
7837
+ "url": "https://www.patreon.com/voku",
7838
+ "type": "patreon"
7839
+ },
7840
+ {
7841
+ "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii",
7842
  "type": "tidelift"
7843
  }
7844
  ],
7845
+ "time": "2020-11-12T00:07:28+00:00"
7846
  },
7847
  {
7848
+ "name": "vria/nodiacritic",
7849
+ "version": "0.1.2",
7850
  "source": {
7851
  "type": "git",
7852
+ "url": "https://github.com/vria/nodiacritic.git",
7853
+ "reference": "3efeb60fb2586fe3ce8ff0f3c122d380717b8b07"
7854
  },
7855
  "dist": {
7856
  "type": "zip",
7857
+ "url": "https://api.github.com/repos/vria/nodiacritic/zipball/3efeb60fb2586fe3ce8ff0f3c122d380717b8b07",
7858
+ "reference": "3efeb60fb2586fe3ce8ff0f3c122d380717b8b07",
7859
+ "shasum": ""
7860
+ },
7861
+ "require": {
7862
+ "php": ">=5.3.3"
7863
+ },
7864
+ "require-dev": {
7865
+ "phpunit/phpunit": "4.8.*"
7866
+ },
7867
+ "type": "library",
7868
+ "autoload": {
7869
+ "psr-4": {
7870
+ "VRia\\Utils\\": "src/"
7871
+ }
7872
+ },
7873
+ "notification-url": "https://packagist.org/downloads/",
7874
+ "license": [
7875
+ "GPL-2.0"
7876
+ ],
7877
+ "authors": [
7878
+ {
7879
+ "name": "Riabchenko Vlad",
7880
+ "email": "contact@vria.eu",
7881
+ "homepage": "http://vria.eu"
7882
+ }
7883
+ ],
7884
+ "description": "Tiny helper function that removes all diacritical signs from characters",
7885
+ "homepage": "https://github.com/vria/nodiacritic",
7886
+ "keywords": [
7887
+ "accent",
7888
+ "diacritic",
7889
+ "filter",
7890
+ "string",
7891
+ "text"
7892
+ ],
7893
+ "support": {
7894
+ "email": "contact@vria.eu",
7895
+ "issues": "https://github.com/vria/nodiacritic/issues",
7896
+ "source": "https://github.com/vria/nodiacritic/tree/0.1.2"
7897
+ },
7898
+ "time": "2016-09-17T22:03:11+00:00"
7899
+ },
7900
+ {
7901
+ "name": "webmozart/assert",
7902
+ "version": "1.10.0",
7903
+ "source": {
7904
+ "type": "git",
7905
+ "url": "https://github.com/webmozarts/assert.git",
7906
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
7907
+ },
7908
+ "dist": {
7909
+ "type": "zip",
7910
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
7911
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
7912
  "shasum": ""
7913
  },
7914
  "require": {
7915
+ "php": "^7.2 || ^8.0",
7916
+ "symfony/polyfill-ctype": "^1.8"
7917
+ },
7918
+ "conflict": {
7919
+ "phpstan/phpstan": "<0.12.20",
7920
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
7921
+ },
7922
+ "require-dev": {
7923
+ "phpunit/phpunit": "^8.5.13"
7924
  },
7925
  "type": "library",
7926
  "extra": {
7927
  "branch-alias": {
7928
+ "dev-master": "1.10-dev"
 
 
 
 
7929
  }
7930
  },
7931
  "autoload": {
7932
  "psr-4": {
7933
+ "Webmozart\\Assert\\": "src/"
7934
+ }
 
 
 
 
 
 
7935
  },
7936
  "notification-url": "https://packagist.org/downloads/",
7937
  "license": [
7939
  ],
7940
  "authors": [
7941
  {
7942
+ "name": "Bernhard Schussek",
7943
+ "email": "bschussek@gmail.com"
 
 
 
 
 
 
 
 
7944
  }
7945
  ],
7946
+ "description": "Assertions to validate method input/output with nice error messages.",
 
7947
  "keywords": [
7948
+ "assert",
7949
+ "check",
7950
+ "validate"
 
7951
  ],
7952
  "support": {
7953
+ "issues": "https://github.com/webmozarts/assert/issues",
7954
+ "source": "https://github.com/webmozarts/assert/tree/1.10.0"
7955
  },
7956
+ "time": "2021-03-09T10:59:23+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7957
  },
7958
  {
7959
+ "name": "wp-cli/i18n-command",
7960
+ "version": "v2.2.9",
7961
  "source": {
7962
  "type": "git",
7963
+ "url": "https://github.com/wp-cli/i18n-command.git",
7964
+ "reference": "26e171c5708060b6d7cede9af934b946f5ec3a59"
7965
  },
7966
  "dist": {
7967
  "type": "zip",
7968
+ "url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/26e171c5708060b6d7cede9af934b946f5ec3a59",
7969
+ "reference": "26e171c5708060b6d7cede9af934b946f5ec3a59",
7970
  "shasum": ""
7971
  },
7972
  "require": {
7973
+ "gettext/gettext": "^4.8",
7974
+ "mck89/peast": "^1.13",
7975
+ "wp-cli/wp-cli": "^2.5"
7976
+ },
7977
+ "require-dev": {
7978
+ "wp-cli/scaffold-command": "^1.2 || ^2",
7979
+ "wp-cli/wp-cli-tests": "^3.0.11"
7980
+ },
7981
+ "suggest": {
7982
+ "ext-mbstring": "Used for calculating include/exclude matches in code extraction"
7983
+ },
7984
+ "type": "wp-cli-package",
7985
+ "extra": {
7986
+ "branch-alias": {
7987
+ "dev-master": "2.x-dev"
7988
+ },
7989
+ "bundled": true,
7990
+ "commands": [
7991
+ "i18n",
7992
+ "i18n make-pot",
7993
+ "i18n make-json"
7994
+ ]
7995
  },
 
7996
  "autoload": {
7997
  "psr-4": {
7998
+ "WP_CLI\\I18n\\": "src/"
7999
  },
8000
+ "files": [
8001
+ "i18n-command.php"
8002
  ]
8003
  },
8004
  "notification-url": "https://packagist.org/downloads/",
8007
  ],
8008
  "authors": [
8009
  {
8010
+ "name": "Pascal Birchler",
8011
+ "homepage": "https://pascalbirchler.com/"
 
 
 
 
8012
  }
8013
  ],
8014
+ "description": "Provides internationalization tools for WordPress projects.",
8015
+ "homepage": "https://github.com/wp-cli/i18n-command",
8016
  "support": {
8017
+ "issues": "https://github.com/wp-cli/i18n-command/issues",
8018
+ "source": "https://github.com/wp-cli/i18n-command/tree/v2.2.9"
8019
  },
8020
+ "time": "2021-07-20T21:25:54+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8021
  },
8022
  {
8023
+ "name": "wp-cli/mustangostang-spyc",
8024
+ "version": "0.6.3",
8025
  "source": {
8026
  "type": "git",
8027
+ "url": "https://github.com/wp-cli/spyc.git",
8028
+ "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7"
8029
  },
8030
  "dist": {
8031
  "type": "zip",
8032
+ "url": "https://api.github.com/repos/wp-cli/spyc/zipball/6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7",
8033
+ "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7",
8034
  "shasum": ""
8035
  },
8036
  "require": {
8037
+ "php": ">=5.3.1"
 
8038
  },
8039
+ "require-dev": {
8040
+ "phpunit/phpunit": "4.3.*@dev"
8041
  },
8042
  "type": "library",
8043
  "extra": {
8044
  "branch-alias": {
8045
+ "dev-master": "0.5.x-dev"
 
 
 
 
8046
  }
8047
  },
8048
  "autoload": {
8049
  "psr-4": {
8050
+ "Mustangostang\\": "src/"
8051
+ },
8052
+ "files": [
8053
+ "includes/functions.php"
8054
+ ]
8055
  },
8056
  "notification-url": "https://packagist.org/downloads/",
8057
  "license": [
8059
  ],
8060
  "authors": [
8061
  {
8062
+ "name": "mustangostang",
8063
+ "email": "vlad.andersen@gmail.com"
 
 
 
 
8064
  }
8065
  ],
8066
+ "description": "A simple YAML loader/dumper class for PHP (WP-CLI fork)",
8067
+ "homepage": "https://github.com/mustangostang/spyc/",
 
 
 
 
 
 
 
 
8068
  "support": {
8069
+ "source": "https://github.com/wp-cli/spyc/tree/autoload"
8070
  },
8071
+ "time": "2017-04-25T11:26:20+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8072
  },
8073
  {
8074
+ "name": "wp-cli/php-cli-tools",
8075
+ "version": "v0.11.13",
8076
  "source": {
8077
  "type": "git",
8078
+ "url": "https://github.com/wp-cli/php-cli-tools.git",
8079
+ "reference": "a2866855ac1abc53005c102e901553ad5772dc04"
8080
  },
8081
  "dist": {
8082
  "type": "zip",
8083
+ "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/a2866855ac1abc53005c102e901553ad5772dc04",
8084
+ "reference": "a2866855ac1abc53005c102e901553ad5772dc04",
8085
  "shasum": ""
8086
  },
8087
  "require": {
8088
+ "php": ">= 5.3.0"
 
 
 
 
 
 
 
 
 
 
 
8089
  },
8090
  "type": "library",
8091
  "autoload": {
8092
+ "psr-0": {
8093
+ "cli": "lib/"
8094
  },
8095
  "files": [
8096
+ "lib/cli/cli.php"
 
 
 
8097
  ]
8098
  },
8099
  "notification-url": "https://packagist.org/downloads/",
8102
  ],
8103
  "authors": [
8104
  {
8105
+ "name": "Daniel Bachhuber",
8106
+ "email": "daniel@handbuilt.co",
8107
+ "role": "Maintainer"
8108
  },
8109
  {
8110
+ "name": "James Logsdon",
8111
+ "email": "jlogsdon@php.net",
8112
+ "role": "Developer"
8113
  }
8114
  ],
8115
+ "description": "Console utilities for PHP",
8116
+ "homepage": "http://github.com/wp-cli/php-cli-tools",
8117
  "keywords": [
8118
+ "cli",
8119
+ "console"
 
 
 
 
8120
  ],
8121
  "support": {
8122
+ "issues": "https://github.com/wp-cli/php-cli-tools/issues",
8123
+ "source": "https://github.com/wp-cli/php-cli-tools/tree/v0.11.13"
8124
  },
8125
+ "time": "2021-07-01T15:08:16+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8126
  },
8127
  {
8128
+ "name": "wp-cli/wp-cli",
8129
+ "version": "v2.5.0",
8130
  "source": {
8131
  "type": "git",
8132
+ "url": "https://github.com/wp-cli/wp-cli.git",
8133
+ "reference": "0bcf0c54f4d35685211d435e25219cc7acbe6d48"
8134
  },
8135
  "dist": {
8136
  "type": "zip",
8137
+ "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/0bcf0c54f4d35685211d435e25219cc7acbe6d48",
8138
+ "reference": "0bcf0c54f4d35685211d435e25219cc7acbe6d48",
8139
  "shasum": ""
8140
  },
8141
  "require": {
8142
+ "ext-curl": "*",
8143
+ "mustache/mustache": "~2.13",
8144
+ "php": "^5.6 || ^7.0 || ^8.0",
8145
+ "rmccue/requests": "^1.8",
8146
+ "symfony/finder": ">2.7",
8147
+ "wp-cli/mustangostang-spyc": "^0.6.3",
8148
+ "wp-cli/php-cli-tools": "~0.11.2"
8149
  },
8150
  "require-dev": {
8151
+ "roave/security-advisories": "dev-master",
8152
+ "wp-cli/db-command": "^1.3 || ^2",
8153
+ "wp-cli/entity-command": "^1.2 || ^2",
8154
+ "wp-cli/extension-command": "^1.1 || ^2",
8155
+ "wp-cli/package-command": "^1 || ^2",
8156
+ "wp-cli/wp-cli-tests": "^3.0.7"
8157
  },
8158
  "suggest": {
8159
+ "ext-readline": "Include for a better --prompt implementation",
8160
+ "ext-zip": "Needed to support extraction of ZIP archives when doing downloads or updates"
8161
  },
8162
  "bin": [
8163
+ "bin/wp",
8164
+ "bin/wp.bat"
8165
  ],
8166
  "type": "library",
8167
+ "extra": {
8168
+ "branch-alias": {
8169
+ "dev-master": "2.5.x-dev"
8170
+ }
8171
+ },
8172
  "autoload": {
8173
+ "psr-0": {
8174
+ "WP_CLI\\": "php/"
8175
  },
8176
+ "classmap": [
8177
+ "php/class-wp-cli.php",
8178
+ "php/class-wp-cli-command.php"
8179
  ]
8180
  },
8181
  "notification-url": "https://packagist.org/downloads/",
8182
  "license": [
8183
  "MIT"
8184
  ],
8185
+ "description": "WP-CLI framework",
8186
+ "homepage": "https://wp-cli.org",
8187
+ "keywords": [
8188
+ "cli",
8189
+ "wordpress"
 
 
 
 
8190
  ],
 
 
8191
  "support": {
8192
+ "docs": "https://make.wordpress.org/cli/handbook/",
8193
+ "issues": "https://github.com/wp-cli/wp-cli/issues",
8194
+ "source": "https://github.com/wp-cli/wp-cli"
8195
  },
8196
+ "time": "2021-05-14T13:44:51+00:00"
8197
+ },
8198
+ {
8199
+ "name": "zordius/lightncandy",
8200
+ "version": "v1.2.6",
8201
+ "source": {
8202
+ "type": "git",
8203
+ "url": "https://github.com/zordius/lightncandy.git",
8204
+ "reference": "b451f73e8b5c73e62e365997ba3c993a0376b72a"
8205
+ },
8206
+ "dist": {
8207
+ "type": "zip",
8208
+ "url": "https://api.github.com/repos/zordius/lightncandy/zipball/b451f73e8b5c73e62e365997ba3c993a0376b72a",
8209
+ "reference": "b451f73e8b5c73e62e365997ba3c993a0376b72a",
8210
+ "shasum": ""
8211
+ },
8212
+ "require": {
8213
+ "php": ">=7.1.0"
8214
+ },
8215
+ "require-dev": {
8216
+ "phpunit/phpunit": ">=7"
8217
+ },
8218
+ "type": "library",
8219
+ "extra": {
8220
+ "branch-alias": {
8221
+ "dev-master": "1.2.5-dev"
8222
+ }
8223
+ },
8224
+ "autoload": {
8225
+ "psr-4": {
8226
+ "LightnCandy\\": "src"
8227
+ }
8228
+ },
8229
+ "notification-url": "https://packagist.org/downloads/",
8230
+ "license": [
8231
+ "MIT"
8232
+ ],
8233
+ "authors": [
8234
  {
8235
+ "name": "Zordius Chen",
8236
+ "email": "zordius@gmail.com"
8237
  }
8238
  ],
8239
+ "description": "An extremely fast PHP implementation of handlebars ( http://handlebarsjs.com/ ) and mustache ( http://mustache.github.io/ ).",
8240
+ "homepage": "https://github.com/zordius/lightncandy",
8241
+ "keywords": [
8242
+ "handlebars",
8243
+ "logicless",
8244
+ "mustache",
8245
+ "php",
8246
+ "template"
8247
+ ],
8248
+ "support": {
8249
+ "issues": "https://github.com/zordius/lightncandy/issues",
8250
+ "source": "https://github.com/zordius/lightncandy/tree/v1.2.6"
8251
+ },
8252
+ "time": "2021-07-11T04:52:41+00:00"
8253
  }
8254
  ],
8255
  "aliases": [],
vendor/publishpress/wordpress-reviews/phpcs.xml.dist ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="PHP_CodeSniffer"
3
+ xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
4
+ <description>The coding standard for PublishPress Authors.</description>
5
+
6
+ <file>ReviewsController.php</file>
7
+
8
+ <arg name="basepath" value="."/>
9
+ <arg name="colors"/>
10
+ <arg name="parallel" value="75"/>
11
+ <arg value="np"/>
12
+
13
+ <!-- Include the whole PEAR standard -->
14
+ <rule ref="PSR12"/>
15
+ </ruleset>
views/bulk-edit.php CHANGED
@@ -13,7 +13,7 @@ $minute = $defaults['minute'];
13
  <div class="inline-edit-col">
14
  <div class="inline-edit-group">
15
  <legend class="inline-edit-legend"><?php
16
- _e('Post Expirator', 'post-expirator'); ?></legend>
17
  <fieldset class="inline-edit-date">
18
  <div class="pe-qe-fields">
19
  <div>
@@ -97,7 +97,8 @@ $minute = $defaults['minute'];
97
  size="2" maxlength="2" autocomplete="off" type="text">
98
  </label>
99
 
100
- <?php echo PostExpirator_Util::wp_timezone_string(); ?>
 
101
  </span>
102
  </div>
103
  <div class="post-expirator-date-fields">
13
  <div class="inline-edit-col">
14
  <div class="inline-edit-group">
15
  <legend class="inline-edit-legend"><?php
16
+ _e('PublishPress Future', 'post-expirator'); ?></legend>
17
  <fieldset class="inline-edit-date">
18
  <div class="pe-qe-fields">
19
  <div>
97
  size="2" maxlength="2" autocomplete="off" type="text">
98
  </label>
99
 
100
+ <?php
101
+ echo PostExpirator_Util::wp_timezone_string(); ?>
102
  </span>
103
  </div>
104
  <div class="post-expirator-date-fields">
views/expire-column.php CHANGED
@@ -3,7 +3,7 @@ echo esc_attr($id); ?>"
3
  data-expire-attributes="<?php
4
  echo esc_attr(json_encode($attributes)); ?>">
5
  <?php
6
- $expirationEnabled = get_post_meta($id, '_expiration-date-status', true) === 'saved';
7
  $expirationDate = get_post_meta($id, '_expiration-date', true);
8
  if ($expirationDate && $expirationEnabled) {
9
  $format = get_option('date_format') . ' ' . get_option('time_format');
@@ -41,8 +41,8 @@ echo esc_attr($id); ?>"
41
  $expireType = $attributes['expireType'];
42
  }
43
  if (
44
- isset($attributes['category'])
45
- && ! empty($attributes['category']) && in_array($expireType, array(
46
  'category',
47
  'category-add',
48
  'category-remove'
@@ -54,14 +54,13 @@ echo esc_attr($id); ?>"
54
  // the hidden fields will be used by quick edit
55
 
56
  ?>
57
- <?php
58
- echo esc_html($display); ?>
59
- <span id="expirationdate_year-<?php echo $id; ?>" style="display: none;"><?php echo $year; ?></span>
60
- <span id="expirationdate_month-<?php echo $id; ?>" style="display: none;"><?php echo $month; ?></span>
61
- <span id="expirationdate_day-<?php echo $id; ?>" style="display: none;"><?php echo $day; ?></span>
62
- <span id="expirationdate_hour-<?php echo $id; ?>" style="display: none;"><?php echo $hour; ?></span>
63
- <span id="expirationdate_minute-<?php echo $id; ?>" style="display: none;"><?php echo $minute; ?></span>
64
- <span id="expirationdate_enabled-<?php echo $id; ?>" style="display: none;"><?php echo $enabled; ?></span>
65
- <span id="expirationdate_expireType-<?php echo $id; ?>" style="display: none;"><?php echo $expireType; ?></span>
66
- <span id="expirationdate_categories-<?php echo $id; ?>" style="display: none;"><?php echo $categories; ?></span>
67
  </div>
3
  data-expire-attributes="<?php
4
  echo esc_attr(json_encode($attributes)); ?>">
5
  <?php
6
+ $expirationEnabled = PostExpirator_Facade::is_expiration_enabled_for_post($id);
7
  $expirationDate = get_post_meta($id, '_expiration-date', true);
8
  if ($expirationDate && $expirationEnabled) {
9
  $format = get_option('date_format') . ' ' . get_option('time_format');
41
  $expireType = $attributes['expireType'];
42
  }
43
  if (
44
+ isset($attributes['category'])
45
+ && ! empty($attributes['category']) && in_array($expireType, array(
46
  'category',
47
  'category-add',
48
  'category-remove'
54
  // the hidden fields will be used by quick edit
55
 
56
  ?>
57
+ <?php echo esc_html($display); ?>
58
+ <input type="hidden" id="expirationdate_year-<?php echo $id; ?>" value="<?php echo $year; ?>" />
59
+ <input type="hidden" id="expirationdate_month-<?php echo $id; ?>" value="<?php echo $month; ?>" />
60
+ <input type="hidden" id="expirationdate_day-<?php echo $id; ?>" value="<?php echo $day; ?>" />
61
+ <input type="hidden" id="expirationdate_hour-<?php echo $id; ?>" value="<?php echo $hour; ?>" />
62
+ <input type="hidden" id="expirationdate_minute-<?php echo $id; ?>" value="<?php echo $minute; ?>" />
63
+ <input type="hidden" id="expirationdate_enabled-<?php echo $id; ?>" value="<?php echo $enabled; ?>" />
64
+ <input type="hidden" id="expirationdate_expireType-<?php echo $id; ?>" value="<?php echo $expireType; ?>" />
65
+ <input type="hidden" id="expirationdate_categories-<?php echo $id; ?>" value="<?php echo $categories; ?>" />
 
66
  </div>
views/menu-advanced.php ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Get Option
3
+ $preserveData = (bool)get_option('expirationdatePreserveData', true);
4
+
5
+ $user_roles = wp_roles()->get_names();
6
+ $plugin_facade = PostExpirator_Facade::getInstance();
7
+ ?>
8
+ <form method="post" id="expirationdate_save_options">
9
+ <?php
10
+ wp_nonce_field('postexpirator_menu_advanced', '_postExpiratorMenuAdvanced_nonce'); ?>
11
+
12
+ <h3><?php
13
+ _e('Advanced Options', 'post-expirator'); ?></h3>
14
+ <p class="description"><?php
15
+ _e(
16
+ 'Please do not update anything here unless you know what it entails. For advanced users only.',
17
+ 'post-expirator'
18
+ ); ?></p>
19
+ <?php
20
+ $gutenberg = get_option('expirationdateGutenbergSupport', 1);
21
+ ?>
22
+ <table class="form-table">
23
+ <tr valign="top">
24
+ <th scope="row"><?php
25
+ _e('Block Editor Support', 'post-expirator'); ?></th>
26
+ <td>
27
+ <input type="radio" name="gutenberg-support" id="gutenberg-support-enabled"
28
+ value="1" <?php
29
+ echo intval($gutenberg) === 1 ? 'checked' : ''; ?>/> <label
30
+ for="gutenberg-support-enabled"><?php
31
+ _e('Show Gutenberg style box', 'post-expirator'); ?></label>
32
+ &nbsp;&nbsp;
33
+ <input type="radio" name="gutenberg-support" id="gutenberg-support-disabled"
34
+ value="0" <?php
35
+ echo intval($gutenberg) === 0 ? 'checked' : ''; ?>/> <label
36
+ for="gutenberg-support-disabled"><?php
37
+ _e('Show Classic Editor style box', 'post-expirator'); ?></label>
38
+ <p class="description"><?php
39
+ _e(
40
+ 'Toggle between native support for the Block Editor or the backward compatible Classic Editor style metabox.',
41
+ 'post-expirator'
42
+ ); ?></p>
43
+ </td>
44
+ </tr>
45
+ <tr valign="top">
46
+ <th scope="row">
47
+ <?php
48
+ _e('Choose which user roles can use PublishPress Future', 'post-expirator'); ?>
49
+ </th>
50
+ <td class="pe-checklist">
51
+ <?php
52
+ foreach ($user_roles as $role_name => $role_label) : ?>
53
+ <label for="allow-user-role-<?php
54
+ echo esc_attr($role_name); ?>">
55
+ <input type="checkbox"
56
+ id="allow-user-role-<?php
57
+ echo esc_attr($role_name); ?>"
58
+ name="allow-user-roles[]"
59
+ <?php
60
+ if ('administrator' === $role_name) : echo 'disabled="disabled"'; endif; ?>
61
+ value="<?php
62
+ echo esc_attr($role_name); ?>"
63
+ <?php
64
+ if ($plugin_facade->user_role_can_expire_posts(
65
+ $role_name
66
+ )) : ?>checked="checked"<?php
67
+ endif; ?>
68
+ />
69
+ <?php
70
+ echo esc_html($role_label); ?>
71
+ </label>
72
+ <?php
73
+ endforeach; ?>
74
+ </td>
75
+ </tr>
76
+ <tr valign="top">
77
+ <th scope="row">
78
+ <?php
79
+ _e('Preserve data after deactivating the plugin', 'post-expirator'); ?>
80
+ </th>
81
+ <td>
82
+ <input type="radio" name="expired-preserve-data-deactivating"
83
+ id="expired-preserve-data-deactivating-true"
84
+ value="1" <?php
85
+ echo $preserveData ? ' checked="checked"' : ''; ?>/>
86
+ <label for="expired-preserve-data-deactivating-true">
87
+ <?php
88
+ _e('Preserve data', 'post-expirator'); ?>
89
+ </label>
90
+ &nbsp;&nbsp;
91
+ <input type="radio" name="expired-preserve-data-deactivating"
92
+ id="expired-preserve-data-deactivating-false"
93
+ value="0" <?php
94
+ echo ! $preserveData ? ' checked="checked"' : ''; ?>/>
95
+ <label for="expired-preserve-data-deactivating-false">
96
+ <?php
97
+ _e('Delete data', 'post-expirator'); ?>
98
+ </label>
99
+ <p class="description">
100
+ <?php
101
+ _e(
102
+ 'Toggle between preserving or deleting data after the plugin is deactivated.',
103
+ 'post-expirator'
104
+ ); ?>
105
+ </p>
106
+ </td>
107
+ </tr>
108
+ </table>
109
+
110
+ <p class="submit">
111
+ <input type="submit" name="expirationdateSave" class="button-primary"
112
+ value="<?php
113
+ _e('Save Changes', 'post-expirator'); ?>"/>
114
+ </p>
115
+ </form>
116
+
117
+ <?php
views/menu-defaults.php CHANGED
@@ -54,112 +54,95 @@
54
  ?>
55
  <table class="form-table">
56
  <tr valign="top">
57
- <th scope="row"><label
58
- for="expirationdate_activemeta-<?php
59
- echo $type; ?>"><?php
60
- _e('Active', 'post-expirator'); ?></label>
61
- </th>
62
  <td>
63
  <input type="radio" name="expirationdate_activemeta-<?php
64
- echo $type; ?>"
65
- id="expirationdate_activemeta-true-<?php
66
- echo $type; ?>"
67
- value="active" <?php
68
- echo $expiredactivemetaenabled; ?>/> <label
69
- for="expirationdate_activemeta-true-<?php
70
- echo $type; ?>"><?php
71
  _e('Active', 'post-expirator'); ?></label>
72
  &nbsp;&nbsp;
73
  <input type="radio" name="expirationdate_activemeta-<?php
74
- echo $type; ?>"
75
- id="expirationdate_activemeta-false-<?php
76
- echo $type; ?>"
77
- value="inactive" <?php
78
- echo $expiredactivemetadisabled; ?>/> <label
79
- for="expirationdate_activemeta-false-<?php
80
- echo $type; ?>"><?php
81
  _e('Inactive', 'post-expirator'); ?></label>
82
  <p class="description"><?php
83
  _e(
84
- 'Select whether the post expirator meta box is active for this post type.',
85
  'post-expirator'
86
  ); ?></p>
87
  </td>
88
  </tr>
89
  <tr valign="top">
90
- <th scope="row"><label
91
- for="expirationdate_expiretype-<?php
92
- echo $type; ?>"><?php
93
- _e('How to expire', 'post-expirator'); ?></label>
94
- </th>
95
  <td>
96
  <?php
97
- _postexpirator_expire_type(array(
98
- 'name' => 'expirationdate_expiretype-' . $type,
99
- 'selected' => (isset($defaults['expireType']) ? $defaults['expireType'] : '')
100
- )); ?>
 
 
101
  <p class="description"><?php
102
  _e('Select the default expire action for the post type.', 'post-expirator'); ?></p>
103
  </td>
104
  </tr>
105
  <tr valign="top">
106
- <th scope="row"><label
107
- for="expirationdate_autoenable-<?php
108
- echo $type; ?>"><?php
109
- _e('Auto-Enable?', 'post-expirator'); ?></label>
110
- </th>
111
  <td>
112
  <input type="radio" name="expirationdate_autoenable-<?php
113
- echo $type; ?>"
114
- id="expirationdate_autoenable-true-<?php
115
- echo $type; ?>"
116
- value="1" <?php
117
- echo $expiredautoenabled; ?>/> <label
118
- for="expirationdate_autoenable-true-<?php
119
- echo $type; ?>"><?php
120
  _e('Enabled', 'post-expirator'); ?></label>
121
  &nbsp;&nbsp;
122
  <input type="radio" name="expirationdate_autoenable-<?php
123
- echo $type; ?>"
124
- id="expirationdate_autoenable-false-<?php
125
- echo $type; ?>"
126
- value="0" <?php
127
- echo $expiredautodisabled; ?>/> <label
128
- for="expirationdate_autoenable-false-<?php
129
- echo $type; ?>"><?php
130
  _e('Disabled', 'post-expirator'); ?></label>
131
  <p class="description"><?php
132
- _e('Select whether the post expirator is enabled for all new posts.', 'post-expirator'); ?></p>
 
 
 
133
  </td>
134
  </tr>
135
  <tr valign="top">
136
- <th scope="row"><label
137
- for="expirationdate_taxonomy-<?php
138
- echo $type; ?>"><?php
139
- _e('Taxonomy (hierarchical)', 'post-expirator'); ?></label>
140
- </th>
141
  <td>
142
  <?php
143
- echo _postexpirator_taxonomy(array(
144
- 'type' => $type,
145
- 'name' => 'expirationdate_taxonomy-' . $type,
146
- 'selected' => $defaults['taxonomy']
147
- )); ?>
 
 
148
  </td>
149
  </tr>
150
  <tr valign="top">
151
- <th scope="row"><label
152
- for="expirationdate_emailnotification-<?php
153
- echo $type; ?>"><?php
154
- _e('Who to notify', 'post-expirator'); ?></label>
155
- </th>
156
  <td>
157
  <input class="large-text" type="text" name="expirationdate_emailnotification-<?php
158
- echo $type; ?>"
159
- id="expirationdate_emailnotification-<?php
160
- echo $type; ?>"
161
- value="<?php
162
- echo $defaults['emailnotification']; ?>"/>
163
  <p class="description"><?php
164
  _e(
165
  'Enter a comma separate list of emails that you would like to be notified when the post expires.',
@@ -185,16 +168,13 @@
185
  ?>
186
 
187
  <tr valign="top">
188
- <th scope="row"><label
189
- for="expired-default-date-<?php
190
- echo $type; ?>"><?php
191
- _e('Default Date/Time Duration', 'post-expirator'); ?></label>
192
- </th>
193
  <td>
194
  <select name="expired-default-date-<?php
195
- echo $type; ?>"
196
- id="expired-default-date-<?php
197
- echo $type; ?>" class="pe-custom-date-toggle">
198
  <?php
199
  foreach ($values as $value => $label) { ?>
200
  <option value="<?php
@@ -205,22 +185,21 @@
205
  } ?>
206
  </select>
207
  <p class="description"><?php
208
- _e('Set the default expiration date to be used when creating a new post of this type.', 'post-expirator'); ?></p>
 
 
 
209
  <div id="expired-custom-container-<?php
210
- echo $type; ?>" class="pe-custom-date-container"
211
- style="display: <?php
212
- echo $show; ?>;">
213
  <br/>
214
  <label for="expired-custom-date-<?php
215
  echo $type; ?>"><?php
216
- _e('Custom', 'post-expirator'); ?>
217
- :</label>
218
  <input type="text" value="<?php
219
- echo $customDate; ?>"
220
- name="expired-custom-date-<?php
221
- echo $type; ?>"
222
- id="expired-custom-date-<?php
223
- echo $type; ?>"/>
224
  <p class="description"><?php
225
  echo sprintf(
226
  __(
@@ -245,8 +224,7 @@
245
  }
246
  ?>
247
  <p class="submit">
248
- <input type="submit" name="expirationdateSaveDefaults" class="button-primary"
249
- value="<?php
250
- _e('Save Changes', 'post-expirator'); ?>"/>
251
  </p>
252
  </form>
54
  ?>
55
  <table class="form-table">
56
  <tr valign="top">
57
+ <th scope="row"><label for="expirationdate_activemeta-<?php
58
+ echo $type; ?>"><?php
59
+ _e('Active', 'post-expirator'); ?></label></th>
 
 
60
  <td>
61
  <input type="radio" name="expirationdate_activemeta-<?php
62
+ echo $type; ?>" id="expirationdate_activemeta-true-<?php
63
+ echo $type; ?>" value="active" <?php
64
+ echo $expiredactivemetaenabled; ?>/> <label for="expirationdate_activemeta-true-<?php
65
+ echo $type; ?>"><?php
 
 
 
66
  _e('Active', 'post-expirator'); ?></label>
67
  &nbsp;&nbsp;
68
  <input type="radio" name="expirationdate_activemeta-<?php
69
+ echo $type; ?>" id="expirationdate_activemeta-false-<?php
70
+ echo $type; ?>" value="inactive" <?php
71
+ echo $expiredactivemetadisabled; ?>/> <label for="expirationdate_activemeta-false-<?php
72
+ echo $type; ?>"><?php
 
 
 
73
  _e('Inactive', 'post-expirator'); ?></label>
74
  <p class="description"><?php
75
  _e(
76
+ 'Select whether the PublishPress Future meta box is active for this post type.',
77
  'post-expirator'
78
  ); ?></p>
79
  </td>
80
  </tr>
81
  <tr valign="top">
82
+ <th scope="row"><label for="expirationdate_expiretype-<?php
83
+ echo $type; ?>"><?php
84
+ _e('How to expire', 'post-expirator'); ?></label></th>
 
 
85
  <td>
86
  <?php
87
+ _postexpirator_expire_type(
88
+ array(
89
+ 'name' => 'expirationdate_expiretype-' . $type,
90
+ 'selected' => (isset($defaults['expireType']) ? $defaults['expireType'] : '')
91
+ )
92
+ ); ?>
93
  <p class="description"><?php
94
  _e('Select the default expire action for the post type.', 'post-expirator'); ?></p>
95
  </td>
96
  </tr>
97
  <tr valign="top">
98
+ <th scope="row"><label for="expirationdate_autoenable-<?php
99
+ echo $type; ?>"><?php
100
+ _e('Auto-Enable?', 'post-expirator'); ?></label></th>
 
 
101
  <td>
102
  <input type="radio" name="expirationdate_autoenable-<?php
103
+ echo $type; ?>" id="expirationdate_autoenable-true-<?php
104
+ echo $type; ?>" value="1" <?php
105
+ echo $expiredautoenabled; ?>/> <label for="expirationdate_autoenable-true-<?php
106
+ echo $type; ?>"><?php
 
 
 
107
  _e('Enabled', 'post-expirator'); ?></label>
108
  &nbsp;&nbsp;
109
  <input type="radio" name="expirationdate_autoenable-<?php
110
+ echo $type; ?>" id="expirationdate_autoenable-false-<?php
111
+ echo $type; ?>" value="0" <?php
112
+ echo $expiredautodisabled; ?>/> <label for="expirationdate_autoenable-false-<?php
113
+ echo $type; ?>"><?php
 
 
 
114
  _e('Disabled', 'post-expirator'); ?></label>
115
  <p class="description"><?php
116
+ _e(
117
+ 'Select whether the PublishPress Future is enabled for all new posts.',
118
+ 'post-expirator'
119
+ ); ?></p>
120
  </td>
121
  </tr>
122
  <tr valign="top">
123
+ <th scope="row"><label for="expirationdate_taxonomy-<?php
124
+ echo $type; ?>"><?php
125
+ _e('Taxonomy (hierarchical)', 'post-expirator'); ?></label></th>
 
 
126
  <td>
127
  <?php
128
+ echo _postexpirator_taxonomy(
129
+ array(
130
+ 'type' => $type,
131
+ 'name' => 'expirationdate_taxonomy-' . $type,
132
+ 'selected' => $defaults['taxonomy']
133
+ )
134
+ ); ?>
135
  </td>
136
  </tr>
137
  <tr valign="top">
138
+ <th scope="row"><label for="expirationdate_emailnotification-<?php
139
+ echo $type; ?>"><?php
140
+ _e('Who to notify', 'post-expirator'); ?></label></th>
 
 
141
  <td>
142
  <input class="large-text" type="text" name="expirationdate_emailnotification-<?php
143
+ echo $type; ?>" id="expirationdate_emailnotification-<?php
144
+ echo $type; ?>" value="<?php
145
+ echo $defaults['emailnotification']; ?>"/>
 
 
146
  <p class="description"><?php
147
  _e(
148
  'Enter a comma separate list of emails that you would like to be notified when the post expires.',
168
  ?>
169
 
170
  <tr valign="top">
171
+ <th scope="row"><label for="expired-default-date-<?php
172
+ echo $type; ?>"><?php
173
+ _e('Default Date/Time Duration', 'post-expirator'); ?></label></th>
 
 
174
  <td>
175
  <select name="expired-default-date-<?php
176
+ echo $type; ?>" id="expired-default-date-<?php
177
+ echo $type; ?>" class="pe-custom-date-toggle">
 
178
  <?php
179
  foreach ($values as $value => $label) { ?>
180
  <option value="<?php
185
  } ?>
186
  </select>
187
  <p class="description"><?php
188
+ _e(
189
+ 'Set the default expiration date to be used when creating a new post of this type.',
190
+ 'post-expirator'
191
+ ); ?></p>
192
  <div id="expired-custom-container-<?php
193
+ echo $type; ?>" class="pe-custom-date-container" style="display: <?php
194
+ echo $show; ?>;">
 
195
  <br/>
196
  <label for="expired-custom-date-<?php
197
  echo $type; ?>"><?php
198
+ _e('Custom', 'post-expirator'); ?>:</label>
 
199
  <input type="text" value="<?php
200
+ echo $customDate; ?>" name="expired-custom-date-<?php
201
+ echo $type; ?>" id="expired-custom-date-<?php
202
+ echo $type; ?>"/>
 
 
203
  <p class="description"><?php
204
  echo sprintf(
205
  __(
224
  }
225
  ?>
226
  <p class="submit">
227
+ <input type="submit" name="expirationdateSaveDefaults" class="button-primary" value="<?php
228
+ _e('Save Changes', 'post-expirator'); ?>"/>
 
229
  </p>
230
  </form>
views/menu-diagnostics.php CHANGED
@@ -1,72 +1,102 @@
1
  <form method="post" id="postExpiratorMenuUpgrade">
2
  <?php
3
  wp_nonce_field('postexpirator_menu_diagnostics', '_postExpiratorMenuDiagnostics_nonce'); ?>
4
- <h3><?php _e('Advanced Diagnostics', 'post-expirator'); ?></h3>
 
5
  <table class="form-table">
6
  <tr>
7
- <th scope="row">
8
- <label for="postexpirator-log"><?php _e('Debug Logging', 'post-expirator'); ?></label>
9
- </th>
10
  <td>
11
- <?php if (defined('POSTEXPIRATOR_DEBUG') && POSTEXPIRATOR_DEBUG) : ?>
12
- <i class="dashicons dashicons-yes-alt pe-status pe-status-enabled"></i> <span><?php _e('Enabled', 'post-expirator'); ?></span>
13
- <?php echo '<input type="submit" class="button" name="debugging-disable" id="debugging-disable" value="' . __('Disable Debugging', 'post-expirator') . '" />'; ?>
14
- <?php echo '<a href="' . admin_url('options-general.php?page=post-expirator.php&tab=viewdebug') . '">' . __('View Debug Logs', 'post-expirator') . '</a>'; ?>
15
- <?php else: ?>
16
- <i class="dashicons dashicons-no-alt pe-status pe-status-disabled"></i> <span><?php _e('Disabled', 'post-expirator'); ?></span>
17
- <?php echo '<input type="submit" class="button" name="debugging-enable" id="debugging-enable" value="' . __('Enable Debugging', 'post-expirator') . '" />'; ?>
18
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </td>
20
  </tr>
21
  <tr>
22
- <th scope="row"><?php _e('Purge Debug Log', 'post-expirator'); ?></th>
 
23
  <td>
24
- <input type="submit"
25
- class="button"
26
- name="purge-debug"
27
- id="purge-debug"
28
- value="<?php _e('Purge Debug Log', 'post-expirator'); ?>"/>
29
  </td>
30
  </tr>
31
  <tr>
32
- <th scope="row"><?php _e('WP-Cron Status', 'post-expirator'); ?></th>
 
33
  <td>
34
- <?php if (PostExpirator_CronFacade::is_cron_enabled()) : ?>
35
- <i class="dashicons dashicons-yes pe-status pe-status-enabled"></i> <span><?php _e('Enabled', 'post-expirator'); ?></span>
36
- <?php else: ?>
37
- <i class="dashicons dashicons-no pe-status pe-status-disabled"></i> <span><?php _e('Disabled', 'post-expirator'); ?></span>
38
- <?php endif; ?>
 
 
 
 
 
 
39
  </td>
40
  </tr/>
41
  <tr>
42
- <th scope="row">
43
- <label for="cron-schedule"><?php _e('Current Cron Schedule', 'post-expirator'); ?></label>
44
- </th>
45
  <td>
46
  <?php
47
  $cron = PostExpirator_CronFacade::get_plugin_cron_events();
48
 
49
  if (empty($cron)) {
50
  ?>
51
- <p><?php _e('No cron events found for the plugin.', 'post-expirator'); ?></p>
 
 
 
 
52
  <?php
53
  } else {
54
  ?>
55
  <p><?php
56
  _e(
57
- 'The below table will show all currently scheduled cron events for the plugin with the next run time.',
58
  'post-expirator'
59
  ); ?></p>
60
 
61
- <div class="pe-scroll">
62
  <table class="striped">
63
  <tr>
64
- <th><?php _e('Date', 'post-expirator'); ?></th>
65
- <th><?php _e('Event', 'post-expirator'); ?></th>
66
- <th><?php _e('Arguments / Schedule', 'post-expirator'); ?></th>
67
- <th><?php _e('Post', 'post-expirator'); ?></th>
 
 
 
 
68
  </tr>
69
  <?php
 
70
  foreach ($cron as $time => $value) {
71
  foreach ($value as $eventkey => $eventvalue) {
72
  echo '<tr class="pe-event">';
@@ -79,7 +109,6 @@
79
  if (is_null($firstArgsUid)) {
80
  $firstArgsUid = $eventguid;
81
  }
82
-
83
  if (empty($eventvalue[$eventguid]['args'])) {
84
  echo '<div>' . __('No Arguments', 'post-expirator') . '</div>';
85
  } else {
@@ -92,7 +121,6 @@
92
  echo '</div>';
93
  }
94
  }
95
-
96
  echo '&nbsp;/&nbsp;';
97
  if (empty($eventvalue[$eventguid]['schedule'])) {
98
  echo __('Single Event', 'post-expirator');
@@ -127,5 +155,4 @@
127
  </td>
128
  </tr>
129
  </table>
130
- </form>
131
- <?php
1
  <form method="post" id="postExpiratorMenuUpgrade">
2
  <?php
3
  wp_nonce_field('postexpirator_menu_diagnostics', '_postExpiratorMenuDiagnostics_nonce'); ?>
4
+ <h3><?php
5
+ _e('Advanced Diagnostics', 'post-expirator'); ?></h3>
6
  <table class="form-table">
7
  <tr>
8
+ <th scope="row"><label for="postexpirator-log"><?php
9
+ _e('Debug Logging', 'post-expirator'); ?></label></th>
 
10
  <td>
11
+ <?php
12
+ if (defined('POSTEXPIRATOR_DEBUG') && POSTEXPIRATOR_DEBUG) : ?>
13
+ <i class="dashicons dashicons-yes-alt pe-status pe-status-enabled"></i> <span><?php
14
+ _e('Enabled', 'post-expirator'); ?></span>
15
+ <?php
16
+ echo '<input type="submit" class="button" name="debugging-disable" id="debugging-disable" value=" ' . __(
17
+ 'Disable Debugging',
18
+ 'post-expirator'
19
+ ) . '" />'; ?>
20
+ <?php
21
+ echo '<a href="' . admin_url(
22
+ 'options-general.php?page=post-expirator.php&tab=viewdebug'
23
+ ) . '">' . __('View Debug Logs', 'post-expirator') . '</a>'; ?>
24
+ <?php
25
+ else: ?>
26
+ <i class="dashicons dashicons-no-alt pe-status pe-status-disabled"></i> <span><?php
27
+ _e('Disabled', 'post-expirator'); ?></span>
28
+ <?php
29
+ echo '<input type="submit" class="button" name="debugging-enable" id="debugging-enable" value=" ' . __(
30
+ 'Enable Debugging',
31
+ 'post-expirator'
32
+ ) . '" />'; ?>
33
+ <?php
34
+ endif;
35
+ ?>
36
  </td>
37
  </tr>
38
  <tr>
39
+ <th scope="row"><?php
40
+ _e('Purge Debug Log', 'post-expirator'); ?></th>
41
  <td>
42
+ <input type="submit" class="button" name="purge-debug" id="purge-debug" value="<?php
43
+ _e('Purge Debug Log', 'post-expirator'); ?>"/>
 
 
 
44
  </td>
45
  </tr>
46
  <tr>
47
+ <th scope="row"><?php
48
+ _e('WP-Cron Status', 'post-expirator'); ?></th>
49
  <td>
50
+ <?php
51
+ if (PostExpirator_CronFacade::is_cron_enabled()) : ?>
52
+ <i class="dashicons dashicons-yes pe-status pe-status-enabled"></i> <span><?php
53
+ _e('Enabled', 'post-expirator'); ?></span>
54
+ <?php
55
+ else: ?>
56
+ <i class="dashicons dashicons-no pe-status pe-status-disabled"></i> <span><?php
57
+ _e('Disabled', 'post-expirator'); ?></span>
58
+ <?php
59
+ endif;
60
+ ?>
61
  </td>
62
  </tr/>
63
  <tr>
64
+ <th scope="row"><label for="cron-schedule"><?php
65
+ _e('Current Cron Schedule', 'post-expirator'); ?></label></th>
 
66
  <td>
67
  <?php
68
  $cron = PostExpirator_CronFacade::get_plugin_cron_events();
69
 
70
  if (empty($cron)) {
71
  ?>
72
+ <p><?php
73
+ _e(
74
+ 'No cron events found for the plugin.',
75
+ 'post-expirator'
76
+ ); ?></p>
77
  <?php
78
  } else {
79
  ?>
80
  <p><?php
81
  _e(
82
+ 'The below table will show all currently scheduled cron events for the pluginwith the next run time.',
83
  'post-expirator'
84
  ); ?></p>
85
 
86
+ <div>
87
  <table class="striped">
88
  <tr>
89
+ <th><?php
90
+ _e('Date', 'post-expirator'); ?></th>
91
+ <th><?php
92
+ _e('Event', 'post-expirator'); ?></th>
93
+ <th><?php
94
+ _e('Arguments / Schedule', 'post-expirator'); ?></th>
95
+ <th><?php
96
+ _e('Post', 'post-expirator'); ?></th>
97
  </tr>
98
  <?php
99
+
100
  foreach ($cron as $time => $value) {
101
  foreach ($value as $eventkey => $eventvalue) {
102
  echo '<tr class="pe-event">';
109
  if (is_null($firstArgsUid)) {
110
  $firstArgsUid = $eventguid;
111
  }
 
112
  if (empty($eventvalue[$eventguid]['args'])) {
113
  echo '<div>' . __('No Arguments', 'post-expirator') . '</div>';
114
  } else {
121
  echo '</div>';
122
  }
123
  }
 
124
  echo '&nbsp;/&nbsp;';
125
  if (empty($eventvalue[$eventguid]['schedule'])) {
126
  echo __('Single Event', 'post-expirator');
155
  </td>
156
  </tr>
157
  </table>
158
+ </form><?php
 
views/menu-display.php ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // phpcs:disable WordPress.NamingConventions.ValidVariableName.InterpolatedVariableNotSnakeCase
3
+ // phpcs:disable WordPress.PHP.StrictComparisons.LooseComparison
4
+
5
+ $expireddisplayfooter = get_option('expirationdateDisplayFooter', POSTEXPIRATOR_FOOTERDISPLAY);
6
+ $expireddisplayfooterenabled = '';
7
+ $expireddisplayfooterdisabled = '';
8
+ if ($expireddisplayfooter == 0) {
9
+ $expireddisplayfooterdisabled = 'checked="checked"';
10
+ } elseif ($expireddisplayfooter == 1) {
11
+ $expireddisplayfooterenabled = 'checked="checked"';
12
+ }
13
+
14
+ $expirationdateFooterContents = get_option('expirationdateFooterContents', POSTEXPIRATOR_FOOTERCONTENTS);
15
+ $expirationdateFooterStyle = get_option('expirationdateFooterStyle', POSTEXPIRATOR_FOOTERSTYLE);
16
+
17
+ $expirationdateDefaultDateFormat = get_option('expirationdateDefaultDateFormat', POSTEXPIRATOR_DATEFORMAT);
18
+ $expirationdateDefaultTimeFormat = get_option('expirationdateDefaultTimeFormat', POSTEXPIRATOR_TIMEFORMAT);
19
+
20
+ ?>
21
+
22
+ <form method="post" id="expirationdate_save_options">
23
+ <?php
24
+ wp_nonce_field('postexpirator_menu_display', '_postExpiratorMenuDisplay_nonce'); ?>
25
+
26
+ <h3><?php
27
+ _e('Shortcode', 'post-expirator'); ?></h3>
28
+ <p><?php
29
+ echo sprintf(__('Valid %s attributes:', 'post-expirator'), '<code>[postexpirator]</code>'); ?></p>
30
+ <ul class="pe-list">
31
+ <li><p><?php
32
+ echo sprintf(
33
+ __(
34
+ '%1$s - valid options are %2$sfull%3$s (default), %4$sdate%5$s, %6$stime%7$s',
35
+ 'post-expirator'
36
+ ),
37
+ '<code>type</code>',
38
+ '<code>',
39
+ '</code>',
40
+ '<code>',
41
+ '</code>',
42
+ '<code>',
43
+ '</code>'
44
+ ); ?></p></li>
45
+ <li><p><?php
46
+ echo sprintf(
47
+ __('%s - format set here will override the value set on the settings page', 'post-expirator'),
48
+ '<code>dateformat</code>'
49
+ ); ?></p></li>
50
+ <li><p><?php
51
+ echo sprintf(
52
+ __('%s - format set here will override the value set on the settings page', 'post-expirator'),
53
+ '<code>timeformat</code>'
54
+ ); ?></p></li>
55
+ </ul>
56
+
57
+ <hr/>
58
+
59
+ <h3><?php
60
+ _e('Post Footer Display', 'post-expirator'); ?></h3>
61
+ <p class="description"><?php
62
+ _e(
63
+ 'Enabling this below will display the expiration date automatically at the end of any post which is set to expire.',
64
+ 'post-expirator'
65
+ ); ?></p>
66
+ <table class="form-table">
67
+ <tr valign="top">
68
+ <th scope="row"><?php
69
+ _e('Show in post footer?', 'post-expirator'); ?></th>
70
+ <td>
71
+ <input type="radio" name="expired-display-footer" id="expired-display-footer-true" value="1" <?php
72
+ echo $expireddisplayfooterenabled; ?>/> <label for="expired-display-footer-true"><?php
73
+ _e('Enabled', 'post-expirator'); ?></label>
74
+ &nbsp;&nbsp;
75
+ <input type="radio" name="expired-display-footer" id="expired-display-footer-false" value="0" <?php
76
+ echo $expireddisplayfooterdisabled; ?>/> <label for="expired-display-footer-false"><?php
77
+ _e('Disabled', 'post-expirator'); ?></label>
78
+ <p class="description"><?php
79
+ _e(
80
+ 'This will enable or disable displaying the post expiration date in the post footer.',
81
+ 'post-expirator'
82
+ ); ?></p>
83
+ </td>
84
+ </tr>
85
+ <tr valign="top">
86
+ <th scope="row"><label for="expired-footer-contents"><?php
87
+ _e('Footer Contents', 'post-expirator'); ?></label></th>
88
+ <td>
89
+ <textarea id="expired-footer-contents" name="expired-footer-contents" rows="3" cols="50"><?php
90
+ echo $expirationdateFooterContents; ?></textarea>
91
+ <p class="description"><?php
92
+ _e(
93
+ 'Enter the text you would like to appear at the bottom of every post that will expire. The following placeholders will be replaced with the post expiration date in the following format:',
94
+ 'post-expirator'
95
+ ); ?></p>
96
+ <ul class="pe-list">
97
+ <li><p class="description">EXPIRATIONFULL -> <?php
98
+ echo date_i18n(
99
+ "$expirationdateDefaultDateFormat $expirationdateDefaultTimeFormat"
100
+ ); ?></p></li>
101
+ <li><p class="description">EXPIRATIONDATE -> <?php
102
+ echo date_i18n("$expirationdateDefaultDateFormat"); ?></p></li>
103
+ <li><p class="description">EXPIRATIONTIME -> <?php
104
+ echo date_i18n("$expirationdateDefaultTimeFormat"); ?></p></li>
105
+ </ul>
106
+ </td>
107
+ </tr>
108
+ <tr valign="top">
109
+ <th scope="row"><label for="expired-footer-style"><?php
110
+ _e('Footer Style', 'post-expirator'); ?></label></th>
111
+ <td>
112
+ <input type="text" name="expired-footer-style" id="expired-footer-style" value="<?php
113
+ echo $expirationdateFooterStyle; ?>" size="25"/>
114
+ (<span style="<?php
115
+ echo $expirationdateFooterStyle; ?>"><?php
116
+ _e('This post will expire on', 'post-expirator'); ?><?php
117
+ echo date_i18n("$expirationdateDefaultDateFormat $expirationdateDefaultTimeFormat"); ?></span>)
118
+ <p class="description"><?php
119
+ _e('The inline css which will be used to style the footer text.', 'post-expirator'); ?></p>
120
+ </td>
121
+ </tr>
122
+ </table>
123
+
124
+ <p class="submit">
125
+ <input type="submit" name="expirationdateSaveDisplay" class="button-primary" value="<?php
126
+ _e('Save Changes', 'post-expirator'); ?>"/>
127
+ </p>
128
+ </form>
129
+
130
+ <?php
131
+ // phpcs:enable
views/menu-editor.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" id="expirationdate_save_options">
2
+ <?php
3
+ wp_nonce_field('postexpirator_menu_editor', '_postExpiratorMenuEditor_nonce'); ?>
4
+
5
+ <h3><?php
6
+ _e('Editor', 'post-expirator'); ?></h3>
7
+ <?php
8
+ $gutenberg = get_option('expirationdateGutenbergSupport', 1);
9
+ ?>
10
+ <table class="form-table">
11
+ <tr valign="top">
12
+ <th scope="row"><?php
13
+ _e('Block Editor Support', 'post-expirator'); ?></th>
14
+ <td>
15
+ <input type="radio" name="gutenberg-support" id="gutenberg-support-enabled" value="1" <?php
16
+ echo intval($gutenberg) === 1 ? 'checked' : ''; ?>/> <label for="gutenberg-support-enabled"><?php
17
+ _e('Show Gutenberg style box', 'post-expirator'); ?></label>
18
+ &nbsp;&nbsp;
19
+ <input type="radio" name="gutenberg-support" id="gutenberg-support-disabled" value="0" <?php
20
+ echo intval($gutenberg) === 0 ? 'checked' : ''; ?>/> <label for="gutenberg-support-disabled"><?php
21
+ _e('Show Classic Editor style box', 'post-expirator'); ?></label>
22
+ <p class="description"><?php
23
+ _e(
24
+ 'Toggle between native support for the Block Editor or the backward compatible Classic Editor style metabox.',
25
+ 'post-expirator'
26
+ ); ?></p>
27
+ </td>
28
+ </tr>
29
+ </table>
30
+
31
+ <p class="submit">
32
+ <input type="submit" name="expirationdateSaveEditor" class="button-primary" value="<?php
33
+ _e('Save Changes', 'post-expirator'); ?>"/>
34
+ </p>
35
+ </form>
36
+
views/menu-general.php CHANGED
@@ -3,15 +3,12 @@
3
  // Get Option
4
  $expirationdateDefaultDateFormat = get_option('expirationdateDefaultDateFormat', POSTEXPIRATOR_DATEFORMAT);
5
  $expirationdateDefaultTimeFormat = get_option('expirationdateDefaultTimeFormat', POSTEXPIRATOR_TIMEFORMAT);
6
- $expireddisplayfooter = get_option('expirationdateDisplayFooter', POSTEXPIRATOR_FOOTERDISPLAY);
7
  $expiredemailnotification = get_option('expirationdateEmailNotification', POSTEXPIRATOR_EMAILNOTIFICATION);
8
  $expiredemailnotificationadmins = get_option(
9
  'expirationdateEmailNotificationAdmins',
10
  POSTEXPIRATOR_EMAILNOTIFICATIONADMINS
11
  );
12
  $expiredemailnotificationlist = get_option('expirationdateEmailNotificationList', '');
13
- $expirationdateFooterContents = get_option('expirationdateFooterContents', POSTEXPIRATOR_FOOTERCONTENTS);
14
- $expirationdateFooterStyle = get_option('expirationdateFooterStyle', POSTEXPIRATOR_FOOTERSTYLE);
15
  $expirationdateDefaultDate = get_option('expirationdateDefaultDate', POSTEXPIRATOR_EXPIREDEFAULT);
16
  $expirationdateDefaultDateCustom = get_option('expirationdateDefaultDateCustom');
17
 
@@ -19,6 +16,7 @@ $categories = get_option('expirationdateCategoryDefaults');
19
 
20
  $preserveData = (bool)get_option('expirationdatePreserveData', true);
21
 
 
22
  $expireddisplayfooterenabled = '';
23
  $expireddisplayfooterdisabled = '';
24
  if ($expireddisplayfooter == 0) {
@@ -26,6 +24,8 @@ if ($expireddisplayfooter == 0) {
26
  } elseif ($expireddisplayfooter == 1) {
27
  $expireddisplayfooterenabled = 'checked="checked"';
28
  }
 
 
29
 
30
  $expiredemailnotificationenabled = '';
31
  $expiredemailnotificationdisabled = '';
@@ -48,45 +48,10 @@ $plugin_facade = PostExpirator_Facade::getInstance();
48
  ?>
49
  <p><?php
50
  _e(
51
- 'The post expirator plugin sets a custom meta value, and then optionally allows you to select if you want the post changed to a draft status or deleted when it expires.',
52
  'post-expirator'
53
  ); ?></p>
54
 
55
- <h3><?php
56
- _e('Shortcode', 'post-expirator'); ?></h3>
57
- <p><?php
58
- echo sprintf(__('Valid %s attributes:', 'post-expirator'), '<code>[postexpirator]</code>'); ?></p>
59
- <ul class="pe-list">
60
- <li>
61
- <p><?php
62
- echo sprintf(
63
- __('%1$s - valid options are %2$sfull%3$s (default), %4$sdate%5$s, %6$stime%7$s', 'post-expirator'),
64
- '<code>type</code>',
65
- '<code>',
66
- '</code>',
67
- '<code>',
68
- '</code>',
69
- '<code>',
70
- '</code>'
71
- ); ?></p>
72
- </li>
73
- <li>
74
- <p><?php
75
- echo sprintf(
76
- __('%s - format set here will override the value set on the settings page', 'post-expirator'),
77
- '<code>dateformat</code>'
78
- ); ?></p>
79
- </li>
80
- <li>
81
- <p><?php
82
- echo sprintf(
83
- __('%s - format set here will override the value set on the settings page', 'post-expirator'),
84
- '<code>timeformat</code>'
85
- ); ?></p>
86
- </li>
87
- </ul>
88
- <hr/>
89
-
90
  <form method="post" id="expirationdate_save_options">
91
  <?php
92
  wp_nonce_field('postexpirator_menu_general', '_postExpiratorMenuGeneral_nonce'); ?>
@@ -94,15 +59,11 @@ $plugin_facade = PostExpirator_Facade::getInstance();
94
  _e('Defaults', 'post-expirator'); ?></h3>
95
  <table class="form-table">
96
  <tr valign="top">
97
- <th scope="row"><label
98
- for="expired-default-date-format"><?php
99
- _e('Date Format', 'post-expirator'); ?></label>
100
- </th>
101
  <td>
102
- <input type="text" name="expired-default-date-format" id="expired-default-date-format"
103
- value="<?php
104
- echo $expirationdateDefaultDateFormat; ?>" size="25"/> <span
105
- class="description">(<?php
106
  echo PostExpirator_Util::get_wp_date($expirationdateDefaultDateFormat, time()); ?>)</span>
107
  <p class="description"><?php
108
  echo sprintf(
@@ -115,31 +76,25 @@ $plugin_facade = PostExpirator_Facade::getInstance();
115
  </td>
116
  </tr>
117
  <tr valign="top">
118
- <th scope="row"><label
119
- for="expired-default-time-format"><?php
120
- _e('Time Format', 'post-expirator'); ?></label>
121
- </th>
122
  <td>
123
- <input type="text" name="expired-default-time-format" id="expired-default-time-format"
124
- value="<?php
125
- echo $expirationdateDefaultTimeFormat; ?>" size="25"/> <span
126
- class="description">(<?php
127
  echo PostExpirator_Util::get_wp_date($expirationdateDefaultTimeFormat, time()); ?>)</span>
128
  <p class="description"><?php
129
- echo sprintf(
130
- __(
131
- 'The default format to use when displaying the expiration time within a post using the shortcode or within the footer. For information on valid formatting options, see: %s.',
132
- 'post-expirator'
133
- ),
134
- '<a href="http://us2.php.net/manual/en/function.date.php" target="_blank">PHP Date Function</a>'
135
- ); ?>
136
- </td>
137
  </tr>
138
  <tr valign="top">
139
- <th scope="row"><label
140
- for="expired-default-expiration-date"><?php
141
- _e('Default Date/Time Duration', 'post-expirator'); ?></label>
142
- </th>
143
  <td>
144
  <select name="expired-default-expiration-date" id="expired-default-expiration-date"
145
  class="pe-custom-date-toggle">
@@ -161,14 +116,13 @@ $plugin_facade = PostExpirator_Facade::getInstance();
161
  <?php
162
  $show = ($expirationdateDefaultDate == 'custom') ? 'block' : 'none'; ?>
163
  <div id="expired-custom-container" style="display: <?php
164
- echo $show; ?>;"
165
- class="pe-custom-date-container">
166
  <br/>
167
  <label for="expired-custom-expiration-date"><?php
168
  _e('Custom', 'post-expirator'); ?>:</label>
169
  <input type="text" value="<?php
170
- echo $expirationdateDefaultDateCustom; ?>"
171
- name="expired-custom-expiration-date" id="expired-custom-expiration-date"/>
172
  <p class="description"><?php
173
  echo sprintf(
174
  __(
@@ -194,12 +148,15 @@ $plugin_facade = PostExpirator_Facade::getInstance();
194
  echo '<div class="wp-tab-panel" id="post-expirator-cat-list">';
195
  echo '<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">';
196
  $walker = new Walker_PostExpirator_Category_Checklist();
197
- wp_terms_checklist(0, array(
198
- 'taxonomy' => 'category',
199
- 'walker' => $walker,
200
- 'selected_cats' => $categories,
201
- 'checked_ontop' => false
202
- ));
 
 
 
203
  echo '</ul>';
204
  echo '</div>';
205
  ?>
@@ -281,181 +238,6 @@ $plugin_facade = PostExpirator_Facade::getInstance();
281
  </tr>
282
  </table>
283
 
284
- <h3><?php
285
- _e('Post Footer Display', 'post-expirator'); ?></h3>
286
- <p class="description"><?php
287
- _e(
288
- 'Enabling this below will display the expiration date automatically at the end of any post which is set to expire.',
289
- 'post-expirator'
290
- ); ?></p>
291
- <table class="form-table">
292
- <tr valign="top">
293
- <th scope="row"><?php
294
- _e('Show in post footer?', 'post-expirator'); ?></th>
295
- <td>
296
- <input type="radio" name="expired-display-footer" id="expired-display-footer-true"
297
- value="1" <?php
298
- echo $expireddisplayfooterenabled; ?>/> <label
299
- for="expired-display-footer-true"><?php
300
- _e('Enabled', 'post-expirator'); ?></label>
301
- &nbsp;&nbsp;
302
- <input type="radio" name="expired-display-footer" id="expired-display-footer-false"
303
- value="0" <?php
304
- echo $expireddisplayfooterdisabled; ?>/> <label
305
- for="expired-display-footer-false"><?php
306
- _e('Disabled', 'post-expirator'); ?></label>
307
- <p class="description"><?php
308
- _e(
309
- 'This will enable or disable displaying the post expiration date in the post footer.',
310
- 'post-expirator'
311
- ); ?></p>
312
- </td>
313
- </tr>
314
- <tr valign="top">
315
- <th scope="row"><label
316
- for="expired-footer-contents"><?php
317
- _e('Footer Contents', 'post-expirator'); ?></label>
318
- </th>
319
- <td>
320
- <textarea id="expired-footer-contents" name="expired-footer-contents" rows="3"
321
- cols="50"><?php
322
- echo $expirationdateFooterContents; ?></textarea>
323
- <p class="description"><?php
324
- _e(
325
- 'Enter the text you would like to appear at the bottom of every post that will expire. The following placeholders will be replaced with the post expiration date in the following format:',
326
- 'post-expirator'
327
- ); ?></p>
328
- <ul class="pe-list">
329
- <li>
330
- <p class="description">EXPIRATIONFULL
331
- -> <?php
332
- echo PostExpirator_Util::get_wp_date("$expirationdateDefaultDateFormat $expirationdateDefaultTimeFormat", time()); ?>
333
- </p>
334
- </li>
335
- <li>
336
- <p class="description">EXPIRATIONDATE
337
- -> <?php
338
- echo PostExpirator_Util::get_wp_date($expirationdateDefaultDateFormat, time()); ?>
339
- </p>
340
- </li>
341
- <li>
342
- <p class="description">EXPIRATIONTIME
343
- -> <?php
344
- echo PostExpirator_Util::get_wp_date($expirationdateDefaultTimeFormat, time()); ?>
345
- </p>
346
- </li>
347
- </ul>
348
- </td>
349
- </tr>
350
- <tr valign="top">
351
- <th scope="row"><label
352
- for="expired-footer-style"><?php
353
- _e('Footer Style', 'post-expirator'); ?></label></th>
354
- <td>
355
- <input type="text" name="expired-footer-style" id="expired-footer-style"
356
- value="<?php
357
- echo $expirationdateFooterStyle; ?>" size="25"/>
358
- (<span style="<?php
359
- echo $expirationdateFooterStyle; ?>"><?php
360
- _e('This post will expire on', 'post-expirator'); ?><?php
361
- echo PostExpirator_Util::get_wp_date("$expirationdateDefaultDateFormat $expirationdateDefaultTimeFormat", time()); ?></span>)
362
- <p class="description"><?php
363
- _e('The inline css which will be used to style the footer text.', 'post-expirator'); ?></p>
364
- </td>
365
- </tr>
366
- </table>
367
-
368
- <h3><?php
369
- _e('Advanced Options', 'post-expirator'); ?></h3>
370
- <p class="description"><?php
371
- _e(
372
- 'Please do not update anything here unless you know what it entails. For advanced users only.',
373
- 'post-expirator'
374
- ); ?></p>
375
- <?php
376
- $gutenberg = get_option('expirationdateGutenbergSupport', 1);
377
- ?>
378
- <table class="form-table">
379
- <tr valign="top">
380
- <th scope="row"><?php
381
- _e('Block Editor Support', 'post-expirator'); ?></th>
382
- <td>
383
- <input type="radio" name="gutenberg-support" id="gutenberg-support-enabled"
384
- value="1" <?php
385
- echo intval($gutenberg) === 1 ? 'checked' : ''; ?>/> <label
386
- for="gutenberg-support-enabled"><?php
387
- _e('Show Gutenberg style box', 'post-expirator'); ?></label>
388
- &nbsp;&nbsp;
389
- <input type="radio" name="gutenberg-support" id="gutenberg-support-disabled"
390
- value="0" <?php
391
- echo intval($gutenberg) === 0 ? 'checked' : ''; ?>/> <label
392
- for="gutenberg-support-disabled"><?php
393
- _e('Show Classic Editor style box', 'post-expirator'); ?></label>
394
- <p class="description"><?php
395
- _e(
396
- 'Toggle between native support for the Block Editor or the backward compatible Classic Editor style metabox.',
397
- 'post-expirator'
398
- ); ?></p>
399
- </td>
400
- </tr>
401
- <tr valign="top">
402
- <th scope="row">
403
- <?php
404
- _e('Choose which user roles can use Post Expirator', 'post-expirator'); ?>
405
- </th>
406
- <td class="pe-checklist">
407
- <?php
408
- foreach ($user_roles as $role_name => $role_label) : ?>
409
- <label for="allow-user-role-<?php
410
- echo esc_attr($role_name); ?>">
411
- <input type="checkbox"
412
- id="allow-user-role-<?php
413
- echo esc_attr($role_name); ?>"
414
- name="allow-user-roles[]"
415
- <?php
416
- if ('administrator' === $role_name) : echo 'disabled="disabled"'; endif; ?>
417
- value="<?php
418
- echo esc_attr($role_name); ?>"
419
- <?php
420
- if ($plugin_facade->user_role_can_expire_posts(
421
- $role_name
422
- )) : ?>checked="checked"<?php
423
- endif; ?>
424
- />
425
- <?php
426
- echo esc_html($role_label); ?>
427
- </label>
428
- <?php
429
- endforeach; ?>
430
- </td>
431
- </tr>
432
- <tr valign="top">
433
- <th scope="row">
434
- <?php
435
- _e('Preserve data after deactivating the plugin', 'post-expirator'); ?>
436
- </th>
437
- <td>
438
- <input type="radio" name="expired-preserve-data-deactivating" id="expired-preserve-data-deactivating-true"
439
- value="1" <?php echo $preserveData ? ' checked="checked"' : ''; ?>/>
440
- <label for="expired-preserve-data-deactivating-true">
441
- <?php _e('Preserve data', 'post-expirator'); ?>
442
- </label>
443
- &nbsp;&nbsp;
444
- <input type="radio" name="expired-preserve-data-deactivating" id="expired-preserve-data-deactivating-false"
445
- value="0" <?php echo ! $preserveData ? ' checked="checked"' : ''; ?>/>
446
- <label for="expired-preserve-data-deactivating-false">
447
- <?php _e('Delete data', 'post-expirator'); ?>
448
- </label>
449
- <p class="description">
450
- <?php _e(
451
- 'Toggle between preserving or deleting data after the plugin is deactivated.',
452
- 'post-expirator'
453
- ); ?>
454
- </p>
455
- </td>
456
- </tr>
457
- </table>
458
-
459
  <p class="submit">
460
  <input type="submit" name="expirationdateSave" class="button-primary"
461
  value="<?php
3
  // Get Option
4
  $expirationdateDefaultDateFormat = get_option('expirationdateDefaultDateFormat', POSTEXPIRATOR_DATEFORMAT);
5
  $expirationdateDefaultTimeFormat = get_option('expirationdateDefaultTimeFormat', POSTEXPIRATOR_TIMEFORMAT);
 
6
  $expiredemailnotification = get_option('expirationdateEmailNotification', POSTEXPIRATOR_EMAILNOTIFICATION);
7
  $expiredemailnotificationadmins = get_option(
8
  'expirationdateEmailNotificationAdmins',
9
  POSTEXPIRATOR_EMAILNOTIFICATIONADMINS
10
  );
11
  $expiredemailnotificationlist = get_option('expirationdateEmailNotificationList', '');
 
 
12
  $expirationdateDefaultDate = get_option('expirationdateDefaultDate', POSTEXPIRATOR_EXPIREDEFAULT);
13
  $expirationdateDefaultDateCustom = get_option('expirationdateDefaultDateCustom');
14
 
16
 
17
  $preserveData = (bool)get_option('expirationdatePreserveData', true);
18
 
19
+ $expireddisplayfooter = get_option('expirationdateDisplayFooter', POSTEXPIRATOR_FOOTERDISPLAY);
20
  $expireddisplayfooterenabled = '';
21
  $expireddisplayfooterdisabled = '';
22
  if ($expireddisplayfooter == 0) {
24
  } elseif ($expireddisplayfooter == 1) {
25
  $expireddisplayfooterenabled = 'checked="checked"';
26
  }
27
+ $expirationdateFooterContents = get_option('expirationdateFooterContents', POSTEXPIRATOR_FOOTERCONTENTS);
28
+ $expirationdateFooterStyle = get_option('expirationdateFooterStyle', POSTEXPIRATOR_FOOTERSTYLE);
29
 
30
  $expiredemailnotificationenabled = '';
31
  $expiredemailnotificationdisabled = '';
48
  ?>
49
  <p><?php
50
  _e(
51
+ 'The PublishPress Future plugin sets a custom meta value, and then optionally allows you to select if you want the post changed to a draft status or deleted when it expires.',
52
  'post-expirator'
53
  ); ?></p>
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  <form method="post" id="expirationdate_save_options">
56
  <?php
57
  wp_nonce_field('postexpirator_menu_general', '_postExpiratorMenuGeneral_nonce'); ?>
59
  _e('Defaults', 'post-expirator'); ?></h3>
60
  <table class="form-table">
61
  <tr valign="top">
62
+ <th scope="row"><label for="expired-default-date-format"><?php
63
+ _e('Date Format', 'post-expirator'); ?></label></th>
 
 
64
  <td>
65
+ <input type="text" name="expired-default-date-format" id="expired-default-date-format" value="<?php
66
+ echo $expirationdateDefaultDateFormat; ?>" size="25"/> <span class="description">(<?php
 
 
67
  echo PostExpirator_Util::get_wp_date($expirationdateDefaultDateFormat, time()); ?>)</span>
68
  <p class="description"><?php
69
  echo sprintf(
76
  </td>
77
  </tr>
78
  <tr valign="top">
79
+ <th scope="row"><label for="expired-default-time-format"><?php
80
+ _e('Time Format', 'post-expirator'); ?></label></th>
 
 
81
  <td>
82
+ <input type="text" name="expired-default-time-format" id="expired-default-time-format" value="<?php
83
+ echo $expirationdateDefaultTimeFormat; ?>" size="25"/> <span class="description">(<?php
 
 
84
  echo PostExpirator_Util::get_wp_date($expirationdateDefaultTimeFormat, time()); ?>)</span>
85
  <p class="description"><?php
86
+ echo sprintf(
87
+ __(
88
+ 'The default format to use when displaying the expiration time within a post using the shortcode or within the footer. For information on valid formatting options, see: %s.',
89
+ 'post-expirator'
90
+ ),
91
+ '<a href="http://us2.php.net/manual/en/function.date.php" target="_blank">PHP Date Function</a>'
92
+
93
+ ); ?></td>
94
  </tr>
95
  <tr valign="top">
96
+ <th scope="row"><label for="expired-default-expiration-date"><?php
97
+ _e('Default Date/Time Duration', 'post-expirator'); ?></label></th>
 
 
98
  <td>
99
  <select name="expired-default-expiration-date" id="expired-default-expiration-date"
100
  class="pe-custom-date-toggle">
116
  <?php
117
  $show = ($expirationdateDefaultDate == 'custom') ? 'block' : 'none'; ?>
118
  <div id="expired-custom-container" style="display: <?php
119
+ echo $show; ?>;" class="pe-custom-date-container">
 
120
  <br/>
121
  <label for="expired-custom-expiration-date"><?php
122
  _e('Custom', 'post-expirator'); ?>:</label>
123
  <input type="text" value="<?php
124
+ echo $expirationdateDefaultDateCustom; ?>" name="expired-custom-expiration-date"
125
+ id="expired-custom-expiration-date"/>
126
  <p class="description"><?php
127
  echo sprintf(
128
  __(
148
  echo '<div class="wp-tab-panel" id="post-expirator-cat-list">';
149
  echo '<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">';
150
  $walker = new Walker_PostExpirator_Category_Checklist();
151
+ wp_terms_checklist(
152
+ 0,
153
+ array(
154
+ 'taxonomy' => 'category',
155
+ 'walker' => $walker,
156
+ 'selected_cats' => $categories,
157
+ 'checked_ontop' => false
158
+ )
159
+ );
160
  echo '</ul>';
161
  echo '</div>';
162
  ?>
238
  </tr>
239
  </table>
240
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  <p class="submit">
242
  <input type="submit" name="expirationdateSave" class="button-primary"
243
  value="<?php
views/quick-edit.php CHANGED
@@ -61,7 +61,8 @@
61
  type="text" placeholder="00">
62
  </label>
63
 
64
- <?php echo PostExpirator_Util::wp_timezone_string(); ?>
 
65
  </div>
66
  <div>
67
  <legend>
61
  type="text" placeholder="00">
62
  </label>
63
 
64
+ <?php
65
+ echo PostExpirator_Util::wp_timezone_string(); ?>
66
  </div>
67
  <div>
68
  <legend>
views/tabs.php CHANGED
@@ -5,28 +5,38 @@ $current_tab = empty($_GET['tab']) ? 'general' : sanitize_title(wp_unslash($_GET
5
 
6
  <div class="wrap">
7
  <h2><?php
8
- __('Post Expirator Options', 'post-expirator'); ?></h2>
9
  <div id="pe-settings-tabs">
10
  <nav class="nav-tab-wrapper postexpirator-nav-tab-wrapper">
11
  <a href="<?php
12
- echo admin_url('options-general.php?page=post-expirator.php&tab=general'); ?>"
13
  class="pe-tab nav-tab <?php
14
  echo($current_tab === 'general' ? 'nav-tab-active' : ''); ?>"><?php
15
- _e('General Settings', 'post-expirator'); ?></a>
16
  <a href="<?php
17
- echo admin_url('options-general.php?page=post-expirator.php&tab=defaults'); ?>"
 
 
 
 
 
18
  class="pe-tab nav-tab <?php
19
  echo($current_tab === 'defaults' ? 'nav-tab-active' : ''); ?>"><?php
20
  _e('Post Types', 'post-expirator'); ?></a>
21
  <a href="<?php
22
- echo admin_url('options-general.php?page=post-expirator.php&tab=diagnostics'); ?>"
23
  class="pe-tab nav-tab <?php
24
  echo($current_tab === 'diagnostics' ? 'nav-tab-active' : ''); ?>"><?php
25
  _e('Diagnostics', 'post-expirator'); ?></a>
 
 
 
 
 
26
  <?php
27
  if (POSTEXPIRATOR_DEBUG) { ?>
28
  <a href="<?php
29
- echo admin_url('options-general.php?page=post-expirator.php&tab=viewdebug'); ?>"
30
  class="pe-tab nav-tab <?php
31
  echo($current_tab === 'viewdebug' ? 'nav-tab-active' : ''); ?>"><?php
32
  _e('View Debug Logs', 'post-expirator'); ?></a>
@@ -34,8 +44,7 @@ $current_tab = empty($_GET['tab']) ? 'general' : sanitize_title(wp_unslash($_GET
34
  } ?>
35
  </nav>
36
 
37
- <?php
38
- echo $html; ?>
39
 
40
  </div>
41
  </div>
5
 
6
  <div class="wrap">
7
  <h2><?php
8
+ _e('PublishPress Future', 'post-expirator'); ?></h2>
9
  <div id="pe-settings-tabs">
10
  <nav class="nav-tab-wrapper postexpirator-nav-tab-wrapper">
11
  <a href="<?php
12
+ echo admin_url('admin.php?page=publishpress-future&tab=general'); ?>"
13
  class="pe-tab nav-tab <?php
14
  echo($current_tab === 'general' ? 'nav-tab-active' : ''); ?>"><?php
15
+ _e('Defaults', 'post-expirator'); ?></a>
16
  <a href="<?php
17
+ echo admin_url('admin.php?page=publishpress-future&tab=display'); ?>"
18
+ class="pe-tab nav-tab <?php
19
+ echo($current_tab === 'display' ? 'nav-tab-active' : ''); ?>"><?php
20
+ _e('Display', 'post-expirator'); ?></a>
21
+ <a href="<?php
22
+ echo admin_url('admin.php?page=publishpress-future&tab=defaults'); ?>"
23
  class="pe-tab nav-tab <?php
24
  echo($current_tab === 'defaults' ? 'nav-tab-active' : ''); ?>"><?php
25
  _e('Post Types', 'post-expirator'); ?></a>
26
  <a href="<?php
27
+ echo admin_url('admin.php?page=publishpress-future&tab=diagnostics'); ?>"
28
  class="pe-tab nav-tab <?php
29
  echo($current_tab === 'diagnostics' ? 'nav-tab-active' : ''); ?>"><?php
30
  _e('Diagnostics', 'post-expirator'); ?></a>
31
+ <a href="<?php
32
+ echo admin_url('admin.php?page=publishpress-future&tab=advanced'); ?>"
33
+ class="pe-tab nav-tab <?php
34
+ echo($current_tab === 'advanced' ? 'nav-tab-active' : ''); ?>"><?php
35
+ _e('Advanced', 'post-expirator'); ?></a>
36
  <?php
37
  if (POSTEXPIRATOR_DEBUG) { ?>
38
  <a href="<?php
39
+ echo admin_url('admin.php?page=publishpress-future&tab=viewdebug'); ?>"
40
  class="pe-tab nav-tab <?php
41
  echo($current_tab === 'viewdebug' ? 'nav-tab-active' : ''); ?>"><?php
42
  _e('View Debug Logs', 'post-expirator'); ?></a>
44
  } ?>
45
  </nav>
46
 
47
+ <?php echo $html; ?>
 
48
 
49
  </div>
50
  </div>