WP RSS Aggregator - Version 4.22.1

Version Description

(2022-11-23) = Added - Promotion for Black Friday and Cyber Monday 2022 deals. - Notification for the 2022 feedback survey.

Fixed - The custom feed was missing the <published> date tag.

Download this release

Release Info

Developer Mekku
Plugin Icon 128x128 WP RSS Aggregator
Version 4.22.1
Comparing to
See all releases

Code changes from version 4.22 to 4.22.1

CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
 
 
 
 
 
 
 
 
 
7
  ## [4.22] - 2022-08-06
8
  ### Changed
9
  * YouTube embeds in the lightbox now begin playing automatically, if the browser allows it.
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
 
7
+ ## [4.22.1] - 2022-11-23
8
+ ### Added
9
+ * Promotion for Black Friday and Cyber Monday 2022 deals.
10
+ * Notification for the 2022 feedback survey.
11
+
12
+ ### Fixed
13
+ * The custom feed was missing the `<published>` date tag.
14
+
15
  ## [4.22] - 2022-08-06
16
  ### Changed
17
  * YouTube embeds in the lightbox now begin playing automatically, if the browser allows it.
css/bf22.css ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wpra-bf22 {
2
+ box-sizing: border-box;
3
+
4
+ position: fixed;
5
+ bottom: 0;
6
+ left: 180px;
7
+ right: 20px;
8
+ height: 93px;
9
+ padding: 0 20px;
10
+
11
+ color: #FFF;
12
+ background: #29292C;
13
+ border-width: 4px 4px 0 4px;
14
+ border-style: solid;
15
+ border-color: #FF792B;
16
+ border-radius: 5px 5px 0 0;
17
+
18
+ display: flex;
19
+ flex-flow: row nowrap;
20
+ align-items: center;
21
+ gap: 15px;
22
+ }
23
+
24
+
25
+ .wpra-bf22__icon {
26
+ box-sizing: border-box;
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ width: 40px;
31
+ height: 40px;
32
+ background: #FF792B;
33
+ border: 2px solid #FF792B;
34
+ border-radius: 4px;
35
+ }
36
+
37
+ .wpra-bf22__icon .dashicons {
38
+ color: #FFF;
39
+ font-size: 22px;
40
+ width: 22px;
41
+ height: 22px;
42
+ }
43
+
44
+ .wpra-bf22__msg {
45
+ flex: 1;
46
+ font-style: normal;
47
+ font-weight: 700;
48
+ font-size: 17px;
49
+ line-height: 20px;
50
+ }
51
+
52
+ .wpra-bf22__msg a {
53
+ color: #FFF !important;
54
+ text-decoration: underline !important;
55
+ }
56
+
57
+ .wpra-bf22__msg a:hover {
58
+ color: #FF792B !important;
59
+ }
60
+
61
+ .wpra-bf22__coupon {
62
+ display: inline-block;
63
+ padding: 2px 4px 2px 3px;
64
+ margin-left: 3px;
65
+ background: rgba(251, 233, 237, 0.1);
66
+ border: 2px dashed #FF792B;
67
+ border-radius: 5px;
68
+ }
69
+
70
+ .wpra-bf22__timer {
71
+ display: flex;
72
+ flex-flow: row nowrap;
73
+ align-items: center;
74
+ gap: 8px;
75
+ margin-right: 10px;
76
+ }
77
+
78
+ .wpra-bf22__timer__cell {
79
+ box-sizing: border-box;
80
+ width: 58px;
81
+ height: 58px;
82
+ flex-basis: 58px 0;
83
+
84
+ display: flex;
85
+ flex-flow: column nowrap;
86
+ align-items: center;
87
+ justify-content: center;
88
+ background: #FFFFFF;
89
+ border-radius: 8px;
90
+
91
+ color: #29292C;
92
+ }
93
+
94
+ .wpra-bf22__timer__num {
95
+ font-family: monospace, sans-serif;
96
+ font-size: 30px;
97
+ font-weight: 900;
98
+ line-height: 30px;
99
+ }
100
+
101
+ .wpra-bf22__timer__label {
102
+ font-size: 10px;
103
+ font-weight: 400;
104
+ line-height: 12px;
105
+ }
106
+
107
+ .wpra-bf22__btn {
108
+ display: inline-block;
109
+ box-sizing: border-box;
110
+ height: 35px;
111
+ padding: 10px 15px;
112
+ border: none;
113
+ border-radius: 4px;
114
+ background: #FF792B;
115
+ color: #FFF !important;
116
+ text-decoration: none !important;
117
+ font-weight: bold;
118
+ font-size: 14px;
119
+ line-height: 14px;
120
+ }
121
+
122
+ .wpra-bf22__btn .dashicons {
123
+ box-sizing: border-box;
124
+ width: 14px;
125
+ height: 14px;
126
+ line-height: 11px;
127
+ display: inline-block;
128
+ margin-right: 5px;
129
+ font-size: 10px;
130
+ color: #FFF;
131
+ border: 1px solid #FFFFFF;
132
+ border-radius: 2px;
133
+ }
134
+
135
+ .wpra-bf22__dismiss {
136
+ padding: 0;
137
+ margin: 0;
138
+ background: transparent;
139
+ border: none !important;
140
+ box-shadow: none !important;
141
+ cursor: pointer;
142
+ }
143
+
144
+ .wpra-bf22__dismiss .dashicons {
145
+ color: #D3D8DC;
146
+ font-size: 38px;
147
+ width: 38px;
148
+ height: 38px;
149
+ }
150
+
151
+ .wpra-bf22__dismiss:hover .dashicons {
152
+ color: #FFF;
153
+ }
154
+
155
+ @media screen and (max-width: 1040px) {
156
+ .wpra-bf22__msg {
157
+ font-size: 14px;
158
+ line-height: 16px;
159
+ }
160
+
161
+ .wpra-bf22__timer__cell {
162
+ width: 48px;
163
+ height: 48px;
164
+ }
165
+
166
+ .wpra-bf22__timer__num {
167
+ font-size: 22px;
168
+ line-height: 24px;
169
+ }
170
+ }
171
+
172
+ @media screen and (max-width: 960px) {
173
+ .wpra-bf22 {
174
+ left: 56px;
175
+ }
176
+
177
+ .wpra-bf22__timer {
178
+ margin-right: 0;
179
+ }
180
+
181
+ .wpra-bf22__btn {
182
+ font-size: 13px;
183
+ }
184
+
185
+ .wpra-bf22__btn .dashicons {
186
+ display: none;
187
+ }
188
+ }
189
+
190
+ @media screen and (max-width: 782px) {
191
+ .wpra-bf22 {
192
+ height: 125px;
193
+ }
194
+
195
+ .wpra-bf22 {
196
+ left: 20px;
197
+ }
198
+ }
css/survey2022.css ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wpra-survey-2022 {
2
+ display: flex;
3
+ flex-flow: row nowrap;
4
+ align-items: stretch;
5
+ background: #fff;
6
+ border: 1px solid #FF792B;
7
+ border-left-width: 4px;
8
+ margin: 10px 0 15px;
9
+ }
10
+
11
+ .wpra-survey-2022__branding {
12
+ flex: 0 0 50px;
13
+ margin-right: 20px;
14
+ background: rgba(255, 121, 43, .1);
15
+ text-align: center;
16
+ padding: 15px 0;
17
+ }
18
+
19
+ .wpra-survey-2022__branding img {
20
+ width: 30px;
21
+ }
22
+
23
+ .wpra-survey-2022__content {
24
+ flex: 1;
25
+ display: flex;
26
+ flex-flow: column nowrap;
27
+ align-items: start;
28
+ justify-content: space-between;
29
+ margin-right: 10px;
30
+ padding: 20px 0;
31
+ }
32
+
33
+ .wpra-survey-2022__header {
34
+ color: #111;
35
+ font-weight: bold;
36
+ font-size: 18px;
37
+ line-height: 18px;
38
+ margin-bottom: 10px;
39
+ }
40
+
41
+ .wpra-survey-2022__message {
42
+ font-size: 13px;
43
+ line-height: 18px;
44
+ margin-bottom: 15px;
45
+ }
46
+
47
+ .wpra-survey-2022__message a {
48
+ color: #337AB3 !important;
49
+ }
50
+
51
+ .wpra-survey-2022__link {
52
+ color: #fff !important;
53
+ background: #FF792B;
54
+ border: none !important;
55
+ border-radius: 4px;
56
+ font-weight: bold;
57
+ font-size: 12px;
58
+ line-height: 16px;
59
+ padding: 7px 9px;
60
+ text-decoration: none;
61
+ }
62
+
63
+ .wpra-survey-2022__right {
64
+ padding: 15px 13px;
65
+ }
66
+
67
+ .wpra-survey-2022__close {
68
+ color: #666;
69
+ padding: 3px;
70
+ border: none;
71
+ box-shadow: none;
72
+ background: transparent;
73
+ cursor: pointer;
74
+ }
75
+
76
+ .wpra-survey-2022__close:hover {
77
+ color: #111;
78
+ }
79
+
80
+ .wpra-survey-2022__close .dashicons {
81
+ font-size: 24px;
82
+ width: 24px;
83
+ height: 24px;
84
+ line-height: 24px;
85
+ }
includes/admin-options.php CHANGED
@@ -74,6 +74,7 @@ function wprss_settings_page_display()
74
 
75
  $tabs = wprss_get_settings_tabs();
76
 
 
77
  echo '<h2 class="nav-tab-wrapper">';
78
  foreach ($tabs as $tab_property) {
79
  $tabSlug = $tab_property['slug'];
74
 
75
  $tabs = wprss_get_settings_tabs();
76
 
77
+ echo '<hr class="wp-header-end" />';
78
  echo '<h2 class="nav-tab-wrapper">';
79
  foreach ($tabs as $tab_property) {
80
  $tabSlug = $tab_property['slug'];
js/bf22.js ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($, Config) {
2
+ const PricingURL = "https://www.wprssaggregator.com/pricing/?utm_source=wpra_plugin&utm_medium=wpra_plugin_upgrade&utm_campaign=BF22"
3
+ const EndDate = new Date("2022-11-29T00:00:00.000-07:00")
4
+
5
+ function App() {
6
+ return h('div', {class: "wpra-bf22"}, [
7
+ Icon(),
8
+ Message(),
9
+ Timer(),
10
+ BuyButton(),
11
+ DismisBtn(),
12
+ ])
13
+ }
14
+
15
+ function Message() {
16
+ return h('div', {class: "wpra-bf22__msg"}, [
17
+ t("Get "),
18
+ h('a', {href: PricingURL, target: "_blank"}, [t("40% OFF")]),
19
+ t(" WP RSS Aggregator's premium plans. Coupon code: "),
20
+ h('span', {class: "wpra-bf22__coupon"}, ["BF22"]),
21
+ ])
22
+ }
23
+
24
+ function Icon() {
25
+ return h('div', {class: "wpra-bf22__icon"}, [
26
+ h('i', {class: "dashicons dashicons-star-filled"}),
27
+ ])
28
+ }
29
+
30
+ function Timer() {
31
+ return h('div', {class: "wpra-bf22__timer"}, [
32
+ TimerNum("days", "Days"),
33
+ TimerNum("hours", "Hours"),
34
+ TimerNum("mins", "Minutes"),
35
+ TimerNum("secs", "Seconds"),
36
+ ])
37
+ }
38
+
39
+ function TimerNum(unit, label) {
40
+ return h('div', {class: "wpra-bf22__timer__cell"}, [
41
+ h('div', {class: "wpra-bf22__timer__num", "data-unit": unit}, ["--"]),
42
+ h('div', {class: "wpra-bf22__timer__label"}, [label]),
43
+ ])
44
+ }
45
+
46
+ function BuyButton() {
47
+ return h('a', {class: "wpra-bf22__btn", href: PricingURL, target: "_blank"}, [
48
+ h('i', {class: "dashicons dashicons-star-filled"}),
49
+ t("Upgrade at 40% off"),
50
+ ])
51
+ }
52
+
53
+ function DismisBtn() {
54
+ return h('button', {class: "wpra-bf22__dismiss"}, [
55
+ h('i', {class: "dashicons dashicons-no-alt"}),
56
+ ])
57
+ }
58
+
59
+ $(document).ready(() => {
60
+ document.body.appendChild(App())
61
+ initTimer()
62
+ initDismissBtn()
63
+ })
64
+
65
+ function initTimer() {
66
+ setInterval(() => {
67
+ let now = new Date()
68
+ let diff = (EndDate.getTime() - now.getTime()) / 1000
69
+
70
+ let days, hours, mins, secs
71
+
72
+ if (diff <= 0) {
73
+ days = hours = mins = secs = 0
74
+ } else {
75
+ days = Math.floor(diff / 86400)
76
+ diff -= (days * 86400)
77
+
78
+ hours = Math.floor(diff / 3600) % 24
79
+ diff -= (hours * 3600)
80
+
81
+ mins = Math.floor(diff / 60) % 60
82
+ diff -= (mins * 60)
83
+
84
+ secs = Math.max(0, Math.floor(diff) % 60)
85
+ mins = Math.max(0, mins)
86
+ hours = Math.max(0, hours)
87
+ days = Math.max(0, days)
88
+ }
89
+
90
+ $(".wpra-bf22__timer__num[data-unit=\"days\"]").text(days.toString().padStart(2, "0"))
91
+ $(".wpra-bf22__timer__num[data-unit=\"hours\"]").text(hours.toString().padStart(2, "0"))
92
+ $(".wpra-bf22__timer__num[data-unit=\"mins\"]").text(mins.toString().padStart(2, "0"))
93
+ $(".wpra-bf22__timer__num[data-unit=\"secs\"]").text(secs.toString().padStart(2, "0"))
94
+ }, 1000)
95
+ }
96
+
97
+ function initDismissBtn() {
98
+ $(".wpra-bf22__dismiss").click(() => dismiss())
99
+ }
100
+
101
+ function dismiss() {
102
+ $(".wpra-bf22").remove()
103
+ $.ajax({
104
+ url: Config.ajaxUrl,
105
+ method: "POST",
106
+ data: {
107
+ action: Config.action,
108
+ _wpnonce: Config.nonce,
109
+ },
110
+ error: (xhr, status, error) => {
111
+ console.error("Failed to dismiss WPRA BF22 banner", xhr, status, error)
112
+ },
113
+ })
114
+ }
115
+
116
+ function h(tag, attrs, children) {
117
+ const el = document.createElement(tag)
118
+
119
+ for (let k in attrs) {
120
+ el.setAttribute(k, attrs[k])
121
+ }
122
+
123
+ if (children) {
124
+ for (let i = 0; i < children.length; i++) {
125
+ const child = (typeof children[i] === 'string')
126
+ ? t(children[i])
127
+ : children[i]
128
+
129
+ el.appendChild(child)
130
+ }
131
+ }
132
+
133
+ return el
134
+ }
135
+
136
+ function t(content) {
137
+ return document.createTextNode(content)
138
+ }
139
+
140
+ })(jQuery, BF22)
js/survey2022.js ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($, Config) {
2
+
3
+ $(document).ready(() => {
4
+ const survey = $('.wpra-survey-2022')
5
+ const target = $('.wp-header-end')
6
+
7
+ if (target.length) {
8
+ survey.insertAfter(target.first())
9
+ }
10
+
11
+ $('.wpra-survey-2022__close').on('click', () => {
12
+ survey.remove()
13
+
14
+ $.ajax({
15
+ url: Config.ajaxUrl,
16
+ type: 'POST',
17
+ data: {
18
+ action: Config.action,
19
+ _wpnonce: Config.nonce,
20
+ },
21
+ error: (jqXHR, textStatus, errorThrown) => {
22
+ console.error(errorThrown, textStatus, jqXHR)
23
+ },
24
+ })
25
+ })
26
+ })
27
+
28
+ })(jQuery, WpraSurvey2022)
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: RSS import, RSS aggregator, autoblog, feed to post, news aggregator, rss t
5
  Requires at least: 4.0 or higher
6
  Tested up to: 6.1
7
  Requires PHP: 5.4
8
- Stable tag: 4.22
9
  License: GPLv3
10
 
11
  The most powerful and reliable RSS aggregator for WordPress. Build a news aggregator, autoblog and more in minutes with unlimited RSS feeds.
@@ -255,6 +255,14 @@ Our complete Knowledge Base with FAQs can be found [here](https://kb.wprssaggreg
255
 
256
  == Changelog ==
257
 
 
 
 
 
 
 
 
 
258
  = 4.22 (2022-08-06) =
259
  **Changed**
260
  - YouTube embeds in the lightbox now begin playing automatically, if the browser allows it.
@@ -505,4 +513,3 @@ Our complete Knowledge Base with FAQs can be found [here](https://kb.wprssaggreg
505
  - Thumbnails imported by Excerpts & Thumbnails were not shown in templates.
506
  - Some databases would report the following error during logging: "Column 'date' cannot be null".
507
  - Unserializing the options for the system info triggered PHP notices.
508
-
5
  Requires at least: 4.0 or higher
6
  Tested up to: 6.1
7
  Requires PHP: 5.4
8
+ Stable tag: 4.22.1
9
  License: GPLv3
10
 
11
  The most powerful and reliable RSS aggregator for WordPress. Build a news aggregator, autoblog and more in minutes with unlimited RSS feeds.
255
 
256
  == Changelog ==
257
 
258
+ = 4.22.1 (2022-11-23) =
259
+ **Added**
260
+ - Promotion for Black Friday and Cyber Monday 2022 deals.
261
+ - Notification for the 2022 feedback survey.
262
+
263
+ **Fixed**
264
+ - The custom feed was missing the `<published>` date tag.
265
+
266
  = 4.22 (2022-08-06) =
267
  **Changed**
268
  - YouTube embeds in the lightbox now begin playing automatically, if the browser allows it.
513
  - Thumbnails imported by Excerpts & Thumbnails were not shown in templates.
514
  - Some databases would report the following error during logging: "Column 'date' cannot be null".
515
  - Unserializing the options for the system info triggered PHP notices.
 
src/Modules/BlackFriday22Module.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace RebelCode\Wpra\Core\Modules;
4
+
5
+ use DateTime;
6
+ use DateTimeZone;
7
+ use Exception;
8
+ use Psr\Container\ContainerInterface;
9
+ use RebelCode\Wpra\Core\Wp\Asset\ScriptAsset;
10
+ use RebelCode\Wpra\Core\Wp\Asset\StyleAsset;
11
+
12
+ /** This module adds the promotion banner for Black Friday 2022. */
13
+ class BlackFriday22Module implements ModuleInterface
14
+ {
15
+ const DISMISS_OPTION = 'wpra_bf22_dismissed';
16
+ const DISMISS_NONCE = 'wpra_bf22_dismiss';
17
+ const DISMISS_ACTION = 'wpra_bf22_dismiss';
18
+
19
+ /** @inheritdoc */
20
+ public function run(ContainerInterface $c)
21
+ {
22
+ add_action('admin_enqueue_scripts', function () use ($c) {
23
+ if (wprss_is_wprss_page() && $c->get('bf22/is_period')) {
24
+ $dismissed = filter_var(get_option(static::DISMISS_OPTION), FILTER_VALIDATE_BOOLEAN);
25
+
26
+ if (!$dismissed) {
27
+ $c->get('bf22/js')->enqueue();
28
+ $c->get('bf22/css')->enqueue();
29
+ }
30
+ }
31
+ });
32
+
33
+ add_action('wp_ajax_' . static::DISMISS_ACTION, function () {
34
+ check_admin_referer(static::DISMISS_NONCE);
35
+ update_option(static::DISMISS_OPTION, true);
36
+ echo "BF22 Dismissed";
37
+ die;
38
+ });
39
+ }
40
+
41
+ /** @inheritdoc */
42
+ public function getFactories()
43
+ {
44
+ return [
45
+ 'bf22/js' => function (ContainerInterface $c) {
46
+ $script = new ScriptAsset('bf22', WPRSS_URI . 'js/bf22.js', ['jquery'], WPRSS_VERSION, true);
47
+
48
+ return $script->localize('BF22', function () use ($c) {
49
+ return $c->get('bf22/js/l10n');
50
+ });
51
+ },
52
+ 'bf22/js/l10n' => function () {
53
+ return [
54
+ 'ajaxUrl' => admin_url('admin-ajax.php'),
55
+ 'nonce' => wp_create_nonce(static::DISMISS_NONCE),
56
+ 'action' => static::DISMISS_ACTION,
57
+ ];
58
+ },
59
+ 'bf22/css' => function () {
60
+ return new StyleAsset('bf22', WPRSS_URI . 'css/bf22.css', [], WPRSS_VERSION);
61
+ },
62
+ 'bf22/is_period' => function () {
63
+ try {
64
+ $now = new DateTime('now', new DateTimeZone(wprss_get_timezone_string()));
65
+ $start = new DateTime('2022-11-21T00:00:00', new DateTimeZone('-07:00'));
66
+ $end = new DateTime('2022-11-29T12:00:00', new DateTimeZone('-07:00'));
67
+
68
+ return $now > $start && $now < $end;
69
+ } catch (Exception $e) {
70
+ return false;
71
+ }
72
+ },
73
+ ];
74
+ }
75
+
76
+ /** @inheritdoc */
77
+ public function getExtensions()
78
+ {
79
+ return [
80
+ 'wpra/upsell/plans' => function (ContainerInterface $c, array $plans) {
81
+ if ($c->get('bf22/is_period')) {
82
+ $plans['pro']['btnLabel'] = $plans['basic']['btnLabel'] = __('Upgrade at 40% off', 'wprss');
83
+ $plans['pro']['url'] = $plans['basic']['url'] = 'https://www.wprssaggregator.com/pricing/?utm_source=wpra_plugin&utm_medium=wpra_plugin_upgrade&utm_campaign=BF22';
84
+ }
85
+
86
+ return $plans;
87
+ },
88
+ ];
89
+ }
90
+ }
src/Modules/FeedbackSurvey2022Module.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace RebelCode\Wpra\Core\Modules;
4
+
5
+ use Psr\Container\ContainerInterface;
6
+ use RebelCode\Wpra\Core\Util\NullFunction;
7
+ use RebelCode\Wpra\Core\Wp\Asset\ScriptAsset;
8
+ use RebelCode\Wpra\Core\Wp\Asset\StyleAsset;
9
+
10
+ /** This module adds a prompt for the 2022 feedback survey. */
11
+ class FeedbackSurvey2022Module implements ModuleInterface
12
+ {
13
+ const DISMISS_OPTION = 'wpra_2022_survey_dismissed';
14
+ const DISMISS_NONCE = 'wpra_2022_survey_dismiss';
15
+ const DISMISS_ACTION = 'wpra_2022_survey_dismiss';
16
+
17
+ /** @inheritdoc */
18
+ public function run(ContainerInterface $c)
19
+ {
20
+ add_action('admin_notices', function () use ($c) {
21
+ if (wprss_is_wprss_page() && !$c->get('survey2022/dismissed')) {
22
+ echo $c->get('survey2022/render_fn')();
23
+ }
24
+ });
25
+
26
+ add_action('admin_enqueue_scripts', function () use ($c) {
27
+ if (wprss_is_wprss_page() && !$c->get('survey2022/dismissed')) {
28
+ $c->get('survey2022/js')->enqueue();
29
+ $c->get('survey2022/css')->enqueue();
30
+ }
31
+ });
32
+
33
+ add_action('wp_ajax_' . static::DISMISS_ACTION, function () {
34
+ check_admin_referer(static::DISMISS_NONCE);
35
+ update_option(static::DISMISS_OPTION, true);
36
+ echo "Survey Dismissed";
37
+ die;
38
+ });
39
+ }
40
+
41
+ /** @inheritdoc */
42
+ public function getFactories()
43
+ {
44
+ return [
45
+ 'survey2022/dismissed' => function () {
46
+ return filter_var(get_option(static::DISMISS_OPTION), FILTER_VALIDATE_BOOLEAN);
47
+ },
48
+ 'survey2022/template' => function () {
49
+ return 'admin/feedback-survey-2022.twig';
50
+ },
51
+ 'survey2022/template/context' => function (ContainerInterface $c) {
52
+ return [
53
+ 'imgPath' => WPRSS_IMG,
54
+ 'isBlackFriday' => $c->get('bf22/is_period'),
55
+ ];
56
+ },
57
+ 'survey2022/render_fn' => function (ContainerInterface $c) {
58
+ if (!$c->has('wpra/twig/collection')) {
59
+ return new NullFunction();
60
+ }
61
+
62
+ return function () use ($c) {
63
+ $collection = $c->get('wpra/twig/collection');
64
+ $template = $c->get('survey2022/template');
65
+
66
+ return $collection[$template]->render($c->get('survey2022/template/context'));
67
+ };
68
+ },
69
+ 'survey2022/js' => function (ContainerInterface $c) {
70
+ $script = new ScriptAsset(
71
+ 'wpra-survey-2022',
72
+ WPRSS_URI . 'js/survey2022.js',
73
+ ['jquery'],
74
+ WPRSS_VERSION,
75
+ true
76
+ );
77
+
78
+ return $script->localize('WpraSurvey2022', function () use ($c) {
79
+ return $c->get('survey2022/js/l10n');
80
+ });
81
+ },
82
+ 'survey2022/js/l10n' => function () {
83
+ return [
84
+ 'ajaxUrl' => admin_url('admin-ajax.php'),
85
+ 'nonce' => wp_create_nonce(static::DISMISS_NONCE),
86
+ 'action' => static::DISMISS_ACTION,
87
+ ];
88
+ },
89
+ 'survey2022/css' => function () {
90
+ return new StyleAsset('wpra-survey-2022', WPRSS_URI . 'css/survey2022.css', [], WPRSS_VERSION);
91
+ },
92
+ ];
93
+ }
94
+
95
+ /** @inheritdoc */
96
+ public function getExtensions()
97
+ {
98
+ return [];
99
+ }
100
+ }
src/Modules/UpsellModule.php CHANGED
@@ -41,7 +41,7 @@ class UpsellModule implements ModuleInterface
41
  */
42
  public function getFactories()
43
  {
44
- return array(
45
  /**
46
  * Retrieves the base names of known addons.
47
  *
@@ -71,6 +71,36 @@ class UpsellModule implements ModuleInterface
71
  });
72
  },
73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  /*
75
  * The items to upsell.
76
  *
@@ -265,9 +295,13 @@ class UpsellModule implements ModuleInterface
265
  return function () use ($c) {
266
  $collection = $c->get('wpra/twig/collection');
267
  $template = $collection[$c->get('wpra/upsell/more_features_page/template')];
 
268
  $items = $c->get('wpra/upsell/items');
269
 
270
- echo $template->render(['items' => $items]);
 
 
 
271
  };
272
  },
273
  /*
@@ -306,7 +340,7 @@ class UpsellModule implements ModuleInterface
306
  echo $template->render(['addons' => $addons]);
307
  };
308
  },
309
- );
310
  }
311
 
312
  /**
41
  */
42
  public function getFactories()
43
  {
44
+ return [
45
  /**
46
  * Retrieves the base names of known addons.
47
  *
71
  });
72
  },
73
 
74
+ /* The plans to upsell. */
75
+ 'wpra/upsell/plans' => function () {
76
+ return [
77
+ 'pro' => [
78
+ 'name' => 'Pro Plan',
79
+ 'desc' => __('A discounted bundle that includes:', 'wprss'),
80
+ 'features' => [
81
+ 'Feed to Post',
82
+ 'Full Text RSS Feeds',
83
+ 'Templates',
84
+ 'Keyword Filtering',
85
+ 'Source Categories',
86
+ ],
87
+ 'url' => 'https://wprssaggregator.com/pricing',
88
+ 'btnLabel' => __('See Pricing', 'wprss'),
89
+ 'mostPopular' => true,
90
+ ],
91
+ 'basic' => [
92
+ 'name' => 'Basic Plan',
93
+ 'desc' => __('A discounted bundle that includes:', 'wprss'),
94
+ 'features' => [
95
+ 'Templates',
96
+ 'Keyword Filtering',
97
+ 'Source Categories',
98
+ ],
99
+ 'url' => 'https://wprssaggregator.com/pricing',
100
+ 'btnLabel' => __('See Pricing', 'wprss'),
101
+ ],
102
+ ];
103
+ },
104
  /*
105
  * The items to upsell.
106
  *
295
  return function () use ($c) {
296
  $collection = $c->get('wpra/twig/collection');
297
  $template = $collection[$c->get('wpra/upsell/more_features_page/template')];
298
+ $plans = $c->get('wpra/upsell/plans');
299
  $items = $c->get('wpra/upsell/items');
300
 
301
+ echo $template->render([
302
+ 'plans' => $plans,
303
+ 'items' => $items
304
+ ]);
305
  };
306
  },
307
  /*
340
  echo $template->render(['addons' => $addons]);
341
  };
342
  },
343
+ ];
344
  }
345
 
346
  /**
src/Wp/Asset/ScriptAsset.php CHANGED
@@ -83,11 +83,12 @@ class ScriptAsset extends AbstractAsset implements ScriptInterface
83
  */
84
  public function enqueue()
85
  {
 
 
86
  foreach ($this->l10n as $key => $data) {
87
  wp_localize_script($this->handle, $key, is_callable($data) ? call_user_func($data) : $data);
88
  }
89
 
90
- $this->register();
91
  wp_enqueue_script($this->handle);
92
 
93
  if (is_callable($this->afterNq)) {
83
  */
84
  public function enqueue()
85
  {
86
+ $this->register();
87
+
88
  foreach ($this->l10n as $key => $data) {
89
  wp_localize_script($this->handle, $key, is_callable($data) ? call_user_func($data) : $data);
90
  }
91
 
 
92
  wp_enqueue_script($this->handle);
93
 
94
  if (is_callable($this->afterNq)) {
templates/admin/feedback-survey-2022.twig ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {% set url = "https://www.wprssaggregator.com/survey/?utm_source=wpra_plugin&utm_medium=wpra_plugin_survey&utm_campaign=customer_satisfaction_survey_BF22" %}
2
+
3
+ <div class="wpra-survey-2022">
4
+ <div class="wpra-survey-2022__branding">
5
+ <img src="{{ imgPath }}wpra-icon-transparent.png" alt="WP RSS Aggregator logo">
6
+ </div>
7
+ <div class="wpra-survey-2022__content">
8
+ <div class="wpra-survey-2022__header">
9
+ Something new is coming to WP RSS Aggregator
10
+ </div>
11
+ <div class="wpra-survey-2022__message">
12
+ {% if isBlackFriday %}
13
+ We’re working on an important update, and we’d love to hear your feedback!
14
+ <a href="{{ url|e('html_attr') }}" target="_blank">Take our survey</a> to help us out and get an extra
15
+ <span style="font-weight: bold">$10 OFF</span> on top of our Black Friday offer! Hurry, this deal
16
+ applies to the first 50 customers.
17
+ {% else %}
18
+ We’re working on an important update and we’d love to hear your feedback!
19
+ <a href="{{ url|e('html_attr') }}" target="_blank">Take our survey</a> to help us out.
20
+ {% endif %}
21
+ </div>
22
+ <a class="wpra-survey-2022__link" href="{{ url|e('html_attr') }}" target="_blank">
23
+ Take our survey
24
+ </a>
25
+ </div>
26
+ <div class="wpra-survey-2022__right">
27
+ <button class="wpra-survey-2022__close">
28
+ <span class="dashicons dashicons-no-alt"></span>
29
+ </button>
30
+ </div>
31
+ </div>
templates/admin/tools/main.twig CHANGED
@@ -1,6 +1,8 @@
1
  <div class="wrap">
2
  <h1>{% trans "Tools" %}</h1>
3
 
 
 
4
  <h2 class="nav-tab-wrapper">
5
  {% for key, info in tools %}
6
  <a href="javascript: void(0)"
1
  <div class="wrap">
2
  <h1>{% trans "Tools" %}</h1>
3
 
4
+ <hr class="wp-header-end" />
5
+
6
  <h2 class="nav-tab-wrapper">
7
  {% for key, info in tools %}
8
  <a href="javascript: void(0)"
templates/admin/upsell/more-features-page/add-on.twig CHANGED
@@ -23,9 +23,13 @@
23
  </a>
24
  {% else %}
25
  <a target="_blank" href="{{ item.url }}" class="button">
26
- {% autoescape 'html' %}
27
- {% trans "Purchase & Install" %}
28
- {% endautoescape %}
 
 
 
 
29
  </a>
30
  {% endif %}
31
  </div>
23
  </a>
24
  {% else %}
25
  <a target="_blank" href="{{ item.url }}" class="button">
26
+ {% if item.btnLabel %}
27
+ {{ item.btnLabel }}
28
+ {% else %}
29
+ {% autoescape 'html' %}
30
+ {% trans "Purchase & Install" %}
31
+ {% endautoescape %}
32
+ {% endif %}
33
  </a>
34
  {% endif %}
35
  </div>
templates/admin/upsell/more-features-page/main.twig CHANGED
@@ -14,44 +14,28 @@
14
  <div id="add-ons" class="clearfix">
15
  <div class="add-on-group clearfix">
16
 
17
- {# PRO PLAN #}
18
- <div class="add-on wp-box bundle-plan">
19
- <span class="corner-ribbon">Most Popular</span>
20
- <div class="inner">
21
- <h3>Pro Plan</h3>
22
- <p>A discounted bundle including:</p>
23
- <ul>
24
- <li>Feed to Post</li>
25
- <li>Full Text RSS Feeds</li>
26
- <li>Templates</li>
27
- <li>Keyword Filtering</li>
28
- <li>Source Categories</li>
29
- </ul>
30
- </div>
31
- <div class="footer">
32
- <a class="button button-secondary" href="https://wprssaggregator.com/pricing">
33
- See Pricing
34
- </a>
 
 
35
  </div>
36
- </div>
37
-
38
- {# BASIC PLAN #}
39
- <div class="add-on bundle-plan">
40
- <div class="inner">
41
- <h3>Basic Plan</h3>
42
- <p>A discounted bundle including:</p>
43
- <ul>
44
- <li>Templates</li>
45
- <li>Keyword Filtering</li>
46
- <li>Source Categories</li>
47
- </ul>
48
- </div>
49
- <div class="footer">
50
- <a class="button button-secondary" href="https://wprssaggregator.com/pricing">
51
- See Pricing
52
- </a>
53
- </div>
54
- </div>
55
 
56
  {# ADD_ONS #}
57
  {% for item in items %}
14
  <div id="add-ons" class="clearfix">
15
  <div class="add-on-group clearfix">
16
 
17
+ {# PLANS #}
18
+ {% for plan in plans %}
19
+ <div class="add-on wp-box bundle-plan">
20
+ {% if plan.mostPopular %}
21
+ <span class="corner-ribbon">Most Popular</span>
22
+ {% endif %}
23
+ <div class="inner">
24
+ <h3>{{ plan.name }}</h3>
25
+ <p>{{ plan.desc }}</p>
26
+ <ul>
27
+ {% for feature in plan.features %}
28
+ <li>{{ feature }}</li>
29
+ {% endfor %}
30
+ </ul>
31
+ </div>
32
+ <div class="footer">
33
+ <a class="button button-secondary" href="{{ plan.url|e('html_attr') }}">
34
+ {{ plan.btnLabel }}
35
+ </a>
36
+ </div>
37
  </div>
38
+ {% endfor %}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
 
40
  {# ADD_ONS #}
41
  {% for item in items %}
templates/custom-feed/entry.twig CHANGED
@@ -3,6 +3,7 @@
3
  <title type="html">{{ item.title }}</title>
4
  <link href="{{ item.permalink }}" rel="alternate" />
5
  <updated>{{ item.timestamp|date('Y-m-d\\TH:i:s.vP') }}</updated>
 
6
  <summary>{{ item.excerpt }}</summary>
7
  <content type="html">
8
  <![CDATA[{{ item.content|raw|close_tags }}]]>
3
  <title type="html">{{ item.title }}</title>
4
  <link href="{{ item.permalink }}" rel="alternate" />
5
  <updated>{{ item.timestamp|date('Y-m-d\\TH:i:s.vP') }}</updated>
6
+ <published>{{ item.timestamp|date('Y-m-d\\TH:i:s.vP') }}</published>
7
  <summary>{{ item.excerpt }}</summary>
8
  <content type="html">
9
  <![CDATA[{{ item.content|raw|close_tags }}]]>
vendor/autoload.php CHANGED
@@ -2,6 +2,24 @@
2
 
3
  // autoload.php @generated by Composer
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
  return ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60::getLoader();
2
 
3
  // autoload.php @generated by Composer
4
 
5
+ if (PHP_VERSION_ID < 50600) {
6
+ if (!headers_sent()) {
7
+ header('HTTP/1.1 500 Internal Server Error');
8
+ }
9
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
10
+ if (!ini_get('display_errors')) {
11
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
12
+ fwrite(STDERR, $err);
13
+ } elseif (!headers_sent()) {
14
+ echo $err;
15
+ }
16
+ }
17
+ trigger_error(
18
+ $err,
19
+ E_USER_ERROR
20
+ );
21
+ }
22
+
23
  require_once __DIR__ . '/composer/autoload_real.php';
24
 
25
  return ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60::getLoader();
vendor/composer/ClassLoader.php CHANGED
@@ -149,7 +149,7 @@ class ClassLoader
149
 
150
  /**
151
  * @return string[] Array of classname => path
152
- * @psalm-var array<string, string>
153
  */
154
  public function getClassMap()
155
  {
149
 
150
  /**
151
  * @return string[] Array of classname => path
152
+ * @psalm-return array<string, string>
153
  */
154
  public function getClassMap()
155
  {
vendor/composer/InstalledVersions.php CHANGED
@@ -21,11 +21,26 @@ use Composer\Semver\VersionParser;
21
  * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
22
  *
23
  * To require its presence, you can require `composer-runtime-api ^2.0`
 
 
24
  */
25
  class InstalledVersions
26
  {
 
 
 
 
27
  private static $installed;
 
 
 
 
28
  private static $canGetVendors;
 
 
 
 
 
29
  private static $installedByVendor = array();
30
 
31
  /**
@@ -228,7 +243,7 @@ class InstalledVersions
228
 
229
  /**
230
  * @return array
231
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
232
  */
233
  public static function getRootPackage()
234
  {
@@ -242,7 +257,7 @@ class InstalledVersions
242
  *
243
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
244
  * @return array[]
245
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
246
  */
247
  public static function getRawData()
248
  {
@@ -265,7 +280,7 @@ class InstalledVersions
265
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
266
  *
267
  * @return array[]
268
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
269
  */
270
  public static function getAllRawData()
271
  {
@@ -288,7 +303,7 @@ class InstalledVersions
288
  * @param array[] $data A vendor/composer/installed.php data set
289
  * @return void
290
  *
291
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
292
  */
293
  public static function reload($data)
294
  {
@@ -298,7 +313,7 @@ class InstalledVersions
298
 
299
  /**
300
  * @return array[]
301
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
302
  */
303
  private static function getInstalled()
304
  {
21
  * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
22
  *
23
  * To require its presence, you can require `composer-runtime-api ^2.0`
24
+ *
25
+ * @final
26
  */
27
  class InstalledVersions
28
  {
29
+ /**
30
+ * @var mixed[]|null
31
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
32
+ */
33
  private static $installed;
34
+
35
+ /**
36
+ * @var bool|null
37
+ */
38
  private static $canGetVendors;
39
+
40
+ /**
41
+ * @var array[]
42
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
43
+ */
44
  private static $installedByVendor = array();
45
 
46
  /**
243
 
244
  /**
245
  * @return array
246
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
247
  */
248
  public static function getRootPackage()
249
  {
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
261
  */
262
  public static function getRawData()
263
  {
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
284
  */
285
  public static function getAllRawData()
286
  {
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
307
  */
308
  public static function reload($data)
309
  {
313
 
314
  /**
315
  * @return array[]
316
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
317
  */
318
  private static function getInstalled()
319
  {
vendor/composer/autoload_classmap.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_classmap.php @generated by Composer
4
 
5
- $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
@@ -308,6 +308,7 @@ return array(
308
  'RebelCode\\Wpra\\Core\\ModularModule' => $baseDir . '/src/ModularModule.php',
309
  'RebelCode\\Wpra\\Core\\Modules\\AddonsModule' => $baseDir . '/src/Modules/AddonsModule.php',
310
  'RebelCode\\Wpra\\Core\\Modules\\AssetsModule' => $baseDir . '/src/Modules/AssetsModule.php',
 
311
  'RebelCode\\Wpra\\Core\\Modules\\BlacklistToolModule' => $baseDir . '/src/Modules/BlacklistToolModule.php',
312
  'RebelCode\\Wpra\\Core\\Modules\\BulkAddToolModule' => $baseDir . '/src/Modules/BulkAddToolModule.php',
313
  'RebelCode\\Wpra\\Core\\Modules\\CoreModule' => $baseDir . '/src/Modules/CoreModule.php',
@@ -319,6 +320,7 @@ return array(
319
  'RebelCode\\Wpra\\Core\\Modules\\FeedShortcodeModule' => $baseDir . '/src/Modules/FeedShortcodeModule.php',
320
  'RebelCode\\Wpra\\Core\\Modules\\FeedSourcesModule' => $baseDir . '/src/Modules/FeedSourcesModule.php',
321
  'RebelCode\\Wpra\\Core\\Modules\\FeedTemplatesModule' => $baseDir . '/src/Modules/FeedTemplatesModule.php',
 
322
  'RebelCode\\Wpra\\Core\\Modules\\GutenbergBlockModule' => $baseDir . '/src/Modules/GutenbergBlockModule.php',
323
  'RebelCode\\Wpra\\Core\\Modules\\I18nModule' => $baseDir . '/src/Modules/I18nModule.php',
324
  'RebelCode\\Wpra\\Core\\Modules\\ImagesModule' => $baseDir . '/src/Modules/ImagesModule.php',
2
 
3
  // autoload_classmap.php @generated by Composer
4
 
5
+ $vendorDir = dirname(__DIR__);
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
308
  'RebelCode\\Wpra\\Core\\ModularModule' => $baseDir . '/src/ModularModule.php',
309
  'RebelCode\\Wpra\\Core\\Modules\\AddonsModule' => $baseDir . '/src/Modules/AddonsModule.php',
310
  'RebelCode\\Wpra\\Core\\Modules\\AssetsModule' => $baseDir . '/src/Modules/AssetsModule.php',
311
+ 'RebelCode\\Wpra\\Core\\Modules\\BlackFriday22Module' => $baseDir . '/src/Modules/BlackFriday22Module.php',
312
  'RebelCode\\Wpra\\Core\\Modules\\BlacklistToolModule' => $baseDir . '/src/Modules/BlacklistToolModule.php',
313
  'RebelCode\\Wpra\\Core\\Modules\\BulkAddToolModule' => $baseDir . '/src/Modules/BulkAddToolModule.php',
314
  'RebelCode\\Wpra\\Core\\Modules\\CoreModule' => $baseDir . '/src/Modules/CoreModule.php',
320
  'RebelCode\\Wpra\\Core\\Modules\\FeedShortcodeModule' => $baseDir . '/src/Modules/FeedShortcodeModule.php',
321
  'RebelCode\\Wpra\\Core\\Modules\\FeedSourcesModule' => $baseDir . '/src/Modules/FeedSourcesModule.php',
322
  'RebelCode\\Wpra\\Core\\Modules\\FeedTemplatesModule' => $baseDir . '/src/Modules/FeedTemplatesModule.php',
323
+ 'RebelCode\\Wpra\\Core\\Modules\\FeedbackSurvey2022Module' => $baseDir . '/src/Modules/FeedbackSurvey2022Module.php',
324
  'RebelCode\\Wpra\\Core\\Modules\\GutenbergBlockModule' => $baseDir . '/src/Modules/GutenbergBlockModule.php',
325
  'RebelCode\\Wpra\\Core\\Modules\\I18nModule' => $baseDir . '/src/Modules/I18nModule.php',
326
  'RebelCode\\Wpra\\Core\\Modules\\ImagesModule' => $baseDir . '/src/Modules/ImagesModule.php',
vendor/composer/autoload_files.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_files.php @generated by Composer
4
 
5
- $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
2
 
3
  // autoload_files.php @generated by Composer
4
 
5
+ $vendorDir = dirname(__DIR__);
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
vendor/composer/autoload_namespaces.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_namespaces.php @generated by Composer
4
 
5
- $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
2
 
3
  // autoload_namespaces.php @generated by Composer
4
 
5
+ $vendorDir = dirname(__DIR__);
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
vendor/composer/autoload_psr4.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_psr4.php @generated by Composer
4
 
5
- $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
2
 
3
  // autoload_psr4.php @generated by Composer
4
 
5
+ $vendorDir = dirname(__DIR__);
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
vendor/composer/autoload_real.php CHANGED
@@ -23,38 +23,15 @@ class ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60
23
  }
24
 
25
  spl_autoload_register(array('ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60', 'loadClassLoader'), true, true);
26
- self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
27
  spl_autoload_unregister(array('ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60', 'loadClassLoader'));
28
 
29
- $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
- if ($useStaticLoader) {
31
- require __DIR__ . '/autoload_static.php';
32
-
33
- call_user_func(\Composer\Autoload\ComposerStaticInit46c8b76c439f86ad826af1a4d36b4e60::getInitializer($loader));
34
- } else {
35
- $map = require __DIR__ . '/autoload_namespaces.php';
36
- foreach ($map as $namespace => $path) {
37
- $loader->set($namespace, $path);
38
- }
39
-
40
- $map = require __DIR__ . '/autoload_psr4.php';
41
- foreach ($map as $namespace => $path) {
42
- $loader->setPsr4($namespace, $path);
43
- }
44
-
45
- $classMap = require __DIR__ . '/autoload_classmap.php';
46
- if ($classMap) {
47
- $loader->addClassMap($classMap);
48
- }
49
- }
50
 
51
  $loader->register(true);
52
 
53
- if ($useStaticLoader) {
54
- $includeFiles = Composer\Autoload\ComposerStaticInit46c8b76c439f86ad826af1a4d36b4e60::$files;
55
- } else {
56
- $includeFiles = require __DIR__ . '/autoload_files.php';
57
- }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
  composerRequire46c8b76c439f86ad826af1a4d36b4e60($fileIdentifier, $file);
60
  }
@@ -63,11 +40,16 @@ class ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60
63
  }
64
  }
65
 
 
 
 
 
 
66
  function composerRequire46c8b76c439f86ad826af1a4d36b4e60($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
- require $file;
70
-
71
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
 
 
72
  }
73
  }
23
  }
24
 
25
  spl_autoload_register(array('ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60', 'loadClassLoader'), true, true);
26
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27
  spl_autoload_unregister(array('ComposerAutoloaderInit46c8b76c439f86ad826af1a4d36b4e60', 'loadClassLoader'));
28
 
29
+ require __DIR__ . '/autoload_static.php';
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit46c8b76c439f86ad826af1a4d36b4e60::getInitializer($loader));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
  $loader->register(true);
33
 
34
+ $includeFiles = \Composer\Autoload\ComposerStaticInit46c8b76c439f86ad826af1a4d36b4e60::$files;
 
 
 
 
35
  foreach ($includeFiles as $fileIdentifier => $file) {
36
  composerRequire46c8b76c439f86ad826af1a4d36b4e60($fileIdentifier, $file);
37
  }
40
  }
41
  }
42
 
43
+ /**
44
+ * @param string $fileIdentifier
45
+ * @param string $file
46
+ * @return void
47
+ */
48
  function composerRequire46c8b76c439f86ad826af1a4d36b4e60($fileIdentifier, $file)
49
  {
50
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
 
 
51
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
52
+
53
+ require $file;
54
  }
55
  }
vendor/composer/autoload_static.php CHANGED
@@ -491,6 +491,7 @@ class ComposerStaticInit46c8b76c439f86ad826af1a4d36b4e60
491
  'RebelCode\\Wpra\\Core\\ModularModule' => __DIR__ . '/../..' . '/src/ModularModule.php',
492
  'RebelCode\\Wpra\\Core\\Modules\\AddonsModule' => __DIR__ . '/../..' . '/src/Modules/AddonsModule.php',
493
  'RebelCode\\Wpra\\Core\\Modules\\AssetsModule' => __DIR__ . '/../..' . '/src/Modules/AssetsModule.php',
 
494
  'RebelCode\\Wpra\\Core\\Modules\\BlacklistToolModule' => __DIR__ . '/../..' . '/src/Modules/BlacklistToolModule.php',
495
  'RebelCode\\Wpra\\Core\\Modules\\BulkAddToolModule' => __DIR__ . '/../..' . '/src/Modules/BulkAddToolModule.php',
496
  'RebelCode\\Wpra\\Core\\Modules\\CoreModule' => __DIR__ . '/../..' . '/src/Modules/CoreModule.php',
@@ -502,6 +503,7 @@ class ComposerStaticInit46c8b76c439f86ad826af1a4d36b4e60
502
  'RebelCode\\Wpra\\Core\\Modules\\FeedShortcodeModule' => __DIR__ . '/../..' . '/src/Modules/FeedShortcodeModule.php',
503
  'RebelCode\\Wpra\\Core\\Modules\\FeedSourcesModule' => __DIR__ . '/../..' . '/src/Modules/FeedSourcesModule.php',
504
  'RebelCode\\Wpra\\Core\\Modules\\FeedTemplatesModule' => __DIR__ . '/../..' . '/src/Modules/FeedTemplatesModule.php',
 
505
  'RebelCode\\Wpra\\Core\\Modules\\GutenbergBlockModule' => __DIR__ . '/../..' . '/src/Modules/GutenbergBlockModule.php',
506
  'RebelCode\\Wpra\\Core\\Modules\\I18nModule' => __DIR__ . '/../..' . '/src/Modules/I18nModule.php',
507
  'RebelCode\\Wpra\\Core\\Modules\\ImagesModule' => __DIR__ . '/../..' . '/src/Modules/ImagesModule.php',
491
  'RebelCode\\Wpra\\Core\\ModularModule' => __DIR__ . '/../..' . '/src/ModularModule.php',
492
  'RebelCode\\Wpra\\Core\\Modules\\AddonsModule' => __DIR__ . '/../..' . '/src/Modules/AddonsModule.php',
493
  'RebelCode\\Wpra\\Core\\Modules\\AssetsModule' => __DIR__ . '/../..' . '/src/Modules/AssetsModule.php',
494
+ 'RebelCode\\Wpra\\Core\\Modules\\BlackFriday22Module' => __DIR__ . '/../..' . '/src/Modules/BlackFriday22Module.php',
495
  'RebelCode\\Wpra\\Core\\Modules\\BlacklistToolModule' => __DIR__ . '/../..' . '/src/Modules/BlacklistToolModule.php',
496
  'RebelCode\\Wpra\\Core\\Modules\\BulkAddToolModule' => __DIR__ . '/../..' . '/src/Modules/BulkAddToolModule.php',
497
  'RebelCode\\Wpra\\Core\\Modules\\CoreModule' => __DIR__ . '/../..' . '/src/Modules/CoreModule.php',
503
  'RebelCode\\Wpra\\Core\\Modules\\FeedShortcodeModule' => __DIR__ . '/../..' . '/src/Modules/FeedShortcodeModule.php',
504
  'RebelCode\\Wpra\\Core\\Modules\\FeedSourcesModule' => __DIR__ . '/../..' . '/src/Modules/FeedSourcesModule.php',
505
  'RebelCode\\Wpra\\Core\\Modules\\FeedTemplatesModule' => __DIR__ . '/../..' . '/src/Modules/FeedTemplatesModule.php',
506
+ 'RebelCode\\Wpra\\Core\\Modules\\FeedbackSurvey2022Module' => __DIR__ . '/../..' . '/src/Modules/FeedbackSurvey2022Module.php',
507
  'RebelCode\\Wpra\\Core\\Modules\\GutenbergBlockModule' => __DIR__ . '/../..' . '/src/Modules/GutenbergBlockModule.php',
508
  'RebelCode\\Wpra\\Core\\Modules\\I18nModule' => __DIR__ . '/../..' . '/src/Modules/I18nModule.php',
509
  'RebelCode\\Wpra\\Core\\Modules\\ImagesModule' => __DIR__ . '/../..' . '/src/Modules/ImagesModule.php',
vendor/composer/installed.php CHANGED
@@ -1,22 +1,22 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => 'dev-master',
4
- 'version' => 'dev-master',
 
 
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => '1c4538d68baab41ddcd694d5332908890cdb282e',
9
- 'name' => 'wprss/core',
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'container-interop/container-interop' => array(
14
  'pretty_version' => '1.2.0',
15
  'version' => '1.2.0.0',
 
16
  'type' => 'library',
17
  'install_path' => __DIR__ . '/../container-interop/container-interop',
18
  'aliases' => array(),
19
- 'reference' => '79cbf1341c22ec75643d841642dd5d6acd83bdb8',
20
  'dev_requirement' => false,
21
  ),
22
  'container-interop/container-interop-implementation' => array(
@@ -28,82 +28,82 @@
28
  'container-interop/service-provider' => array(
29
  'pretty_version' => 'v0.3.0',
30
  'version' => '0.3.0.0',
 
31
  'type' => 'library',
32
  'install_path' => __DIR__ . '/../container-interop/service-provider',
33
  'aliases' => array(),
34
- 'reference' => '5cb38893b836edb00d3e1ace26c20ee1d29957cf',
35
  'dev_requirement' => false,
36
  ),
37
  'dhii/collections-abstract' => array(
38
  'pretty_version' => 'v0.1.0',
39
  'version' => '0.1.0.0',
 
40
  'type' => 'library',
41
  'install_path' => __DIR__ . '/../dhii/collections-abstract',
42
  'aliases' => array(),
43
- 'reference' => '7c9141202af4d83b31e75efcbf481fa1cb588ad8',
44
  'dev_requirement' => false,
45
  ),
46
  'dhii/collections-abstract-base' => array(
47
  'pretty_version' => 'v0.1.0',
48
  'version' => '0.1.0.0',
 
49
  'type' => 'library',
50
  'install_path' => __DIR__ . '/../dhii/collections-abstract-base',
51
  'aliases' => array(),
52
- 'reference' => '0ec0147451a72a13fb327ac6ff747c5e953c56f3',
53
  'dev_requirement' => false,
54
  ),
55
  'dhii/collections-interface' => array(
56
  'pretty_version' => 'v0.1.2',
57
  'version' => '0.1.2.0',
 
58
  'type' => 'library',
59
  'install_path' => __DIR__ . '/../dhii/collections-interface',
60
  'aliases' => array(),
61
- 'reference' => 'a8e9a30366a30d77bc270042a67150b3f8f6d94d',
62
  'dev_requirement' => false,
63
  ),
64
  'dhii/container-helper-base' => array(
65
  'pretty_version' => 'v0.1-alpha8',
66
  'version' => '0.1.0.0-alpha8',
 
67
  'type' => 'library',
68
  'install_path' => __DIR__ . '/../dhii/container-helper-base',
69
  'aliases' => array(),
70
- 'reference' => '1b8206842e06b71abcff769aaddfc51bf8f317cd',
71
  'dev_requirement' => false,
72
  ),
73
  'dhii/di' => array(
74
  'pretty_version' => 'v0.1.1',
75
  'version' => '0.1.1.0',
 
76
  'type' => 'library',
77
  'install_path' => __DIR__ . '/../dhii/di',
78
  'aliases' => array(),
79
- 'reference' => '52efd50f1b11fcdd2f789bae483bdb858772c306',
80
  'dev_requirement' => false,
81
  ),
82
  'dhii/di-abstract' => array(
83
  'pretty_version' => 'v0.1',
84
  'version' => '0.1.0.0',
 
85
  'type' => 'library',
86
  'install_path' => __DIR__ . '/../dhii/di-abstract',
87
  'aliases' => array(),
88
- 'reference' => 'e87ee3782d5f4c44724e79c4b2e1a55103e5cd11',
89
  'dev_requirement' => false,
90
  ),
91
  'dhii/di-interface' => array(
92
  'pretty_version' => 'v0.1',
93
  'version' => '0.1.0.0',
 
94
  'type' => 'library',
95
  'install_path' => __DIR__ . '/../dhii/di-interface',
96
  'aliases' => array(),
97
- 'reference' => '0320846a577d68b761e29acd5d4db40d88cc4f98',
98
  'dev_requirement' => false,
99
  ),
100
  'dhii/exception' => array(
101
  'pretty_version' => 'v0.1-alpha5',
102
  'version' => '0.1.0.0-alpha5',
 
103
  'type' => 'library',
104
  'install_path' => __DIR__ . '/../dhii/exception',
105
  'aliases' => array(),
106
- 'reference' => 'f7afb934c970a4e167b2c7ba24fa3df50714e0fe',
107
  'dev_requirement' => false,
108
  ),
109
  'dhii/exception-helper-base' => array(
@@ -115,235 +115,235 @@
115
  'dhii/exception-interface' => array(
116
  'pretty_version' => 'v0.2',
117
  'version' => '0.2.0.0',
 
118
  'type' => 'library',
119
  'install_path' => __DIR__ . '/../dhii/exception-interface',
120
  'aliases' => array(),
121
- 'reference' => 'b69feebf7cb2879cd43977a03342e2393b73f7fb',
122
  'dev_requirement' => false,
123
  ),
124
  'dhii/factory-interface' => array(
125
  'pretty_version' => 'v0.1',
126
  'version' => '0.1.0.0',
 
127
  'type' => 'library',
128
  'install_path' => __DIR__ . '/../dhii/factory-interface',
129
  'aliases' => array(),
130
- 'reference' => 'b8d217aec8838e64ccaa770cb03dc164bf6f0515',
131
  'dev_requirement' => false,
132
  ),
133
  'dhii/i18n-helper-base' => array(
134
  'pretty_version' => 'v0.1-alpha1',
135
  'version' => '0.1.0.0-alpha1',
 
136
  'type' => 'library',
137
  'install_path' => __DIR__ . '/../dhii/i18n-helper-base',
138
  'aliases' => array(),
139
- 'reference' => 'fc4c881f3e528ea918588831ebeffb92738f8dd5',
140
  'dev_requirement' => false,
141
  ),
142
  'dhii/i18n-interface' => array(
143
  'pretty_version' => 'v0.2',
144
  'version' => '0.2.0.0',
 
145
  'type' => 'library',
146
  'install_path' => __DIR__ . '/../dhii/i18n-interface',
147
  'aliases' => array(),
148
- 'reference' => '7eaf0731ba80eea37a5deea6d894a0326e10be67',
149
  'dev_requirement' => false,
150
  ),
151
  'dhii/iterator-helper-base' => array(
152
  'pretty_version' => 'v0.1-alpha2',
153
  'version' => '0.1.0.0-alpha2',
 
154
  'type' => 'library',
155
  'install_path' => __DIR__ . '/../dhii/iterator-helper-base',
156
  'aliases' => array(),
157
- 'reference' => 'cf62fb9f8b658a82815f15a2d906d8d1ff5c52ce',
158
  'dev_requirement' => false,
159
  ),
160
  'dhii/normalization-helper-base' => array(
161
  'pretty_version' => 'v0.1-alpha4',
162
  'version' => '0.1.0.0-alpha4',
 
163
  'type' => 'library',
164
  'install_path' => __DIR__ . '/../dhii/normalization-helper-base',
165
  'aliases' => array(),
166
- 'reference' => '1b64f0ea6b3e32f9478f854f6049500795b51da7',
167
  'dev_requirement' => false,
168
  ),
169
  'dhii/output-renderer-abstract' => array(
170
  'pretty_version' => 'v0.1-alpha2',
171
  'version' => '0.1.0.0-alpha2',
 
172
  'type' => 'library',
173
  'install_path' => __DIR__ . '/../dhii/output-renderer-abstract',
174
  'aliases' => array(),
175
- 'reference' => '0f6e5eed940025332dd1986d6c771e10f7197b1a',
176
  'dev_requirement' => false,
177
  ),
178
  'dhii/output-renderer-base' => array(
179
  'pretty_version' => 'v0.1-alpha1',
180
  'version' => '0.1.0.0-alpha1',
 
181
  'type' => 'library',
182
  'install_path' => __DIR__ . '/../dhii/output-renderer-base',
183
  'aliases' => array(),
184
- 'reference' => '700483a37016e502be2ead9580bb9258ad8bf17b',
185
  'dev_requirement' => false,
186
  ),
187
  'dhii/output-renderer-interface' => array(
188
  'pretty_version' => 'v0.3',
189
  'version' => '0.3.0.0',
 
190
  'type' => 'library',
191
  'install_path' => __DIR__ . '/../dhii/output-renderer-interface',
192
  'aliases' => array(),
193
- 'reference' => '407014d7fd1af0427958f2acd61aff008ee9e032',
194
  'dev_requirement' => false,
195
  ),
196
  'dhii/stats-abstract' => array(
197
  'pretty_version' => 'v0.1.0',
198
  'version' => '0.1.0.0',
 
199
  'type' => 'library',
200
  'install_path' => __DIR__ . '/../dhii/stats-abstract',
201
  'aliases' => array(),
202
- 'reference' => '71f6702c3257c71ab3917b6d076d3c3588cc9f49',
203
  'dev_requirement' => false,
204
  ),
205
  'dhii/stats-interface' => array(
206
  'pretty_version' => 'v0.1.0',
207
  'version' => '0.1.0.0',
 
208
  'type' => 'library',
209
  'install_path' => __DIR__ . '/../dhii/stats-interface',
210
  'aliases' => array(),
211
- 'reference' => '36d09a8b8a3b8058214dae6eefb8ecdd98e0f0ba',
212
  'dev_requirement' => false,
213
  ),
214
  'dhii/stringable-interface' => array(
215
  'pretty_version' => 'v0.1',
216
  'version' => '0.1.0.0',
 
217
  'type' => 'library',
218
  'install_path' => __DIR__ . '/../dhii/stringable-interface',
219
  'aliases' => array(),
220
- 'reference' => 'b6653905eef2ebf377749feb80a6d18abbe913ef',
221
  'dev_requirement' => false,
222
  ),
223
  'dhii/transformer-interface' => array(
224
  'pretty_version' => 'v0.1-alpha1',
225
  'version' => '0.1.0.0-alpha1',
 
226
  'type' => 'library',
227
  'install_path' => __DIR__ . '/../dhii/transformer-interface',
228
  'aliases' => array(),
229
- 'reference' => 'e774efef46413eb34bdafc19a6bd74fbf656235d',
230
  'dev_requirement' => false,
231
  ),
232
  'dhii/validation-abstract' => array(
233
  'pretty_version' => 'v0.2-alpha1',
234
  'version' => '0.2.0.0-alpha1',
 
235
  'type' => 'library',
236
  'install_path' => __DIR__ . '/../dhii/validation-abstract',
237
  'aliases' => array(),
238
- 'reference' => 'dff998ba3476927a0fc6d10bb022425de8f1c844',
239
  'dev_requirement' => false,
240
  ),
241
  'dhii/validation-base' => array(
242
  'pretty_version' => 'v0.2-alpha2',
243
  'version' => '0.2.0.0-alpha2',
 
244
  'type' => 'library',
245
  'install_path' => __DIR__ . '/../dhii/validation-base',
246
  'aliases' => array(),
247
- 'reference' => '9e75c5f886a2403c6989c36c2d4ffcfae158172e',
248
  'dev_requirement' => false,
249
  ),
250
  'dhii/validation-interface' => array(
251
  'pretty_version' => 'v0.2',
252
  'version' => '0.2.0.0',
 
253
  'type' => 'library',
254
  'install_path' => __DIR__ . '/../dhii/validation-interface',
255
  'aliases' => array(),
256
- 'reference' => 'a26026ae5cdf0a650b3511a22dbcb9329073b82c',
257
  'dev_requirement' => false,
258
  ),
259
  'erusev/parsedown' => array(
260
  'pretty_version' => '1.7.4',
261
  'version' => '1.7.4.0',
 
262
  'type' => 'library',
263
  'install_path' => __DIR__ . '/../erusev/parsedown',
264
  'aliases' => array(),
265
- 'reference' => 'cb17b6477dfff935958ba01325f2e8a2bfa6dab3',
266
  'dev_requirement' => false,
267
  ),
268
  'psr/container' => array(
269
  'pretty_version' => '1.0.0',
270
  'version' => '1.0.0.0',
 
271
  'type' => 'library',
272
  'install_path' => __DIR__ . '/../psr/container',
273
  'aliases' => array(),
274
- 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
275
  'dev_requirement' => false,
276
  ),
277
  'psr/log' => array(
278
  'pretty_version' => '1.1.4',
279
  'version' => '1.1.4.0',
 
280
  'type' => 'library',
281
  'install_path' => __DIR__ . '/../psr/log',
282
  'aliases' => array(),
283
- 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
284
  'dev_requirement' => false,
285
  ),
286
  'rebelcode/composer-cleanup-plugin' => array(
287
  'pretty_version' => 'v0.2',
288
  'version' => '0.2.0.0',
 
289
  'type' => 'composer-plugin',
290
  'install_path' => __DIR__ . '/../rebelcode/composer-cleanup-plugin',
291
  'aliases' => array(),
292
- 'reference' => '3677eb752eb8ca042ba6f725b33f419b93857a62',
293
  'dev_requirement' => false,
294
  ),
295
  'symfony/polyfill-ctype' => array(
296
  'pretty_version' => 'v1.19.0',
297
  'version' => '1.19.0.0',
 
298
  'type' => 'library',
299
  'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
300
  'aliases' => array(),
301
- 'reference' => 'aed596913b70fae57be53d86faa2e9ef85a2297b',
302
  'dev_requirement' => false,
303
  ),
304
  'symfony/polyfill-mbstring' => array(
305
  'pretty_version' => 'v1.19.0',
306
  'version' => '1.19.0.0',
 
307
  'type' => 'library',
308
  'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
309
  'aliases' => array(),
310
- 'reference' => 'b5f7b932ee6fa802fc792eabd77c4c88084517ce',
311
  'dev_requirement' => false,
312
  ),
313
  'symfony/translation' => array(
314
  'pretty_version' => 'v2.8.52',
315
  'version' => '2.8.52.0',
 
316
  'type' => 'library',
317
  'install_path' => __DIR__ . '/../symfony/translation',
318
  'aliases' => array(),
319
- 'reference' => 'fc58c2a19e56c29f5ba2736ec40d0119a0de2089',
320
  'dev_requirement' => false,
321
  ),
322
  'twig/extensions' => array(
323
  'pretty_version' => 'v1.5.4',
324
  'version' => '1.5.4.0',
 
325
  'type' => 'library',
326
  'install_path' => __DIR__ . '/../twig/extensions',
327
  'aliases' => array(),
328
- 'reference' => '57873c8b0c1be51caa47df2cdb824490beb16202',
329
  'dev_requirement' => false,
330
  ),
331
  'twig/twig' => array(
332
  'pretty_version' => 'v1.44.6',
333
  'version' => '1.44.6.0',
 
334
  'type' => 'library',
335
  'install_path' => __DIR__ . '/../twig/twig',
336
  'aliases' => array(),
337
- 'reference' => 'ae39480f010ef88adc7938503c9b02d3baf2f3b3',
338
  'dev_requirement' => false,
339
  ),
340
  'wprss/core' => array(
341
- 'pretty_version' => 'dev-master',
342
- 'version' => 'dev-master',
 
343
  'type' => 'wordpress-plugin',
344
  'install_path' => __DIR__ . '/../../',
345
  'aliases' => array(),
346
- 'reference' => '1c4538d68baab41ddcd694d5332908890cdb282e',
347
  'dev_requirement' => false,
348
  ),
349
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'name' => 'wprss/core',
4
+ 'pretty_version' => 'dev-develop',
5
+ 'version' => 'dev-develop',
6
+ 'reference' => '50d620b748e7c04864a40693d810b97e81f9b460',
7
  'type' => 'wordpress-plugin',
8
  'install_path' => __DIR__ . '/../../',
9
  'aliases' => array(),
 
 
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'container-interop/container-interop' => array(
14
  'pretty_version' => '1.2.0',
15
  'version' => '1.2.0.0',
16
+ 'reference' => '79cbf1341c22ec75643d841642dd5d6acd83bdb8',
17
  'type' => 'library',
18
  'install_path' => __DIR__ . '/../container-interop/container-interop',
19
  'aliases' => array(),
 
20
  'dev_requirement' => false,
21
  ),
22
  'container-interop/container-interop-implementation' => array(
28
  'container-interop/service-provider' => array(
29
  'pretty_version' => 'v0.3.0',
30
  'version' => '0.3.0.0',
31
+ 'reference' => '5cb38893b836edb00d3e1ace26c20ee1d29957cf',
32
  'type' => 'library',
33
  'install_path' => __DIR__ . '/../container-interop/service-provider',
34
  'aliases' => array(),
 
35
  'dev_requirement' => false,
36
  ),
37
  'dhii/collections-abstract' => array(
38
  'pretty_version' => 'v0.1.0',
39
  'version' => '0.1.0.0',
40
+ 'reference' => '7c9141202af4d83b31e75efcbf481fa1cb588ad8',
41
  'type' => 'library',
42
  'install_path' => __DIR__ . '/../dhii/collections-abstract',
43
  'aliases' => array(),
 
44
  'dev_requirement' => false,
45
  ),
46
  'dhii/collections-abstract-base' => array(
47
  'pretty_version' => 'v0.1.0',
48
  'version' => '0.1.0.0',
49
+ 'reference' => '0ec0147451a72a13fb327ac6ff747c5e953c56f3',
50
  'type' => 'library',
51
  'install_path' => __DIR__ . '/../dhii/collections-abstract-base',
52
  'aliases' => array(),
 
53
  'dev_requirement' => false,
54
  ),
55
  'dhii/collections-interface' => array(
56
  'pretty_version' => 'v0.1.2',
57
  'version' => '0.1.2.0',
58
+ 'reference' => 'a8e9a30366a30d77bc270042a67150b3f8f6d94d',
59
  'type' => 'library',
60
  'install_path' => __DIR__ . '/../dhii/collections-interface',
61
  'aliases' => array(),
 
62
  'dev_requirement' => false,
63
  ),
64
  'dhii/container-helper-base' => array(
65
  'pretty_version' => 'v0.1-alpha8',
66
  'version' => '0.1.0.0-alpha8',
67
+ 'reference' => '1b8206842e06b71abcff769aaddfc51bf8f317cd',
68
  'type' => 'library',
69
  'install_path' => __DIR__ . '/../dhii/container-helper-base',
70
  'aliases' => array(),
 
71
  'dev_requirement' => false,
72
  ),
73
  'dhii/di' => array(
74
  'pretty_version' => 'v0.1.1',
75
  'version' => '0.1.1.0',
76
+ 'reference' => '52efd50f1b11fcdd2f789bae483bdb858772c306',
77
  'type' => 'library',
78
  'install_path' => __DIR__ . '/../dhii/di',
79
  'aliases' => array(),
 
80
  'dev_requirement' => false,
81
  ),
82
  'dhii/di-abstract' => array(
83
  'pretty_version' => 'v0.1',
84
  'version' => '0.1.0.0',
85
+ 'reference' => 'e87ee3782d5f4c44724e79c4b2e1a55103e5cd11',
86
  'type' => 'library',
87
  'install_path' => __DIR__ . '/../dhii/di-abstract',
88
  'aliases' => array(),
 
89
  'dev_requirement' => false,
90
  ),
91
  'dhii/di-interface' => array(
92
  'pretty_version' => 'v0.1',
93
  'version' => '0.1.0.0',
94
+ 'reference' => '0320846a577d68b761e29acd5d4db40d88cc4f98',
95
  'type' => 'library',
96
  'install_path' => __DIR__ . '/../dhii/di-interface',
97
  'aliases' => array(),
 
98
  'dev_requirement' => false,
99
  ),
100
  'dhii/exception' => array(
101
  'pretty_version' => 'v0.1-alpha5',
102
  'version' => '0.1.0.0-alpha5',
103
+ 'reference' => 'f7afb934c970a4e167b2c7ba24fa3df50714e0fe',
104
  'type' => 'library',
105
  'install_path' => __DIR__ . '/../dhii/exception',
106
  'aliases' => array(),
 
107
  'dev_requirement' => false,
108
  ),
109
  'dhii/exception-helper-base' => array(
115
  'dhii/exception-interface' => array(
116
  'pretty_version' => 'v0.2',
117
  'version' => '0.2.0.0',
118
+ 'reference' => 'b69feebf7cb2879cd43977a03342e2393b73f7fb',
119
  'type' => 'library',
120
  'install_path' => __DIR__ . '/../dhii/exception-interface',
121
  'aliases' => array(),
 
122
  'dev_requirement' => false,
123
  ),
124
  'dhii/factory-interface' => array(
125
  'pretty_version' => 'v0.1',
126
  'version' => '0.1.0.0',
127
+ 'reference' => 'b8d217aec8838e64ccaa770cb03dc164bf6f0515',
128
  'type' => 'library',
129
  'install_path' => __DIR__ . '/../dhii/factory-interface',
130
  'aliases' => array(),
 
131
  'dev_requirement' => false,
132
  ),
133
  'dhii/i18n-helper-base' => array(
134
  'pretty_version' => 'v0.1-alpha1',
135
  'version' => '0.1.0.0-alpha1',
136
+ 'reference' => 'fc4c881f3e528ea918588831ebeffb92738f8dd5',
137
  'type' => 'library',
138
  'install_path' => __DIR__ . '/../dhii/i18n-helper-base',
139
  'aliases' => array(),
 
140
  'dev_requirement' => false,
141
  ),
142
  'dhii/i18n-interface' => array(
143
  'pretty_version' => 'v0.2',
144
  'version' => '0.2.0.0',
145
+ 'reference' => '7eaf0731ba80eea37a5deea6d894a0326e10be67',
146
  'type' => 'library',
147
  'install_path' => __DIR__ . '/../dhii/i18n-interface',
148
  'aliases' => array(),
 
149
  'dev_requirement' => false,
150
  ),
151
  'dhii/iterator-helper-base' => array(
152
  'pretty_version' => 'v0.1-alpha2',
153
  'version' => '0.1.0.0-alpha2',
154
+ 'reference' => 'cf62fb9f8b658a82815f15a2d906d8d1ff5c52ce',
155
  'type' => 'library',
156
  'install_path' => __DIR__ . '/../dhii/iterator-helper-base',
157
  'aliases' => array(),
 
158
  'dev_requirement' => false,
159
  ),
160
  'dhii/normalization-helper-base' => array(
161
  'pretty_version' => 'v0.1-alpha4',
162
  'version' => '0.1.0.0-alpha4',
163
+ 'reference' => '1b64f0ea6b3e32f9478f854f6049500795b51da7',
164
  'type' => 'library',
165
  'install_path' => __DIR__ . '/../dhii/normalization-helper-base',
166
  'aliases' => array(),
 
167
  'dev_requirement' => false,
168
  ),
169
  'dhii/output-renderer-abstract' => array(
170
  'pretty_version' => 'v0.1-alpha2',
171
  'version' => '0.1.0.0-alpha2',
172
+ 'reference' => '0f6e5eed940025332dd1986d6c771e10f7197b1a',
173
  'type' => 'library',
174
  'install_path' => __DIR__ . '/../dhii/output-renderer-abstract',
175
  'aliases' => array(),
 
176
  'dev_requirement' => false,
177
  ),
178
  'dhii/output-renderer-base' => array(
179
  'pretty_version' => 'v0.1-alpha1',
180
  'version' => '0.1.0.0-alpha1',
181
+ 'reference' => '700483a37016e502be2ead9580bb9258ad8bf17b',
182
  'type' => 'library',
183
  'install_path' => __DIR__ . '/../dhii/output-renderer-base',
184
  'aliases' => array(),
 
185
  'dev_requirement' => false,
186
  ),
187
  'dhii/output-renderer-interface' => array(
188
  'pretty_version' => 'v0.3',
189
  'version' => '0.3.0.0',
190
+ 'reference' => '407014d7fd1af0427958f2acd61aff008ee9e032',
191
  'type' => 'library',
192
  'install_path' => __DIR__ . '/../dhii/output-renderer-interface',
193
  'aliases' => array(),
 
194
  'dev_requirement' => false,
195
  ),
196
  'dhii/stats-abstract' => array(
197
  'pretty_version' => 'v0.1.0',
198
  'version' => '0.1.0.0',
199
+ 'reference' => '71f6702c3257c71ab3917b6d076d3c3588cc9f49',
200
  'type' => 'library',
201
  'install_path' => __DIR__ . '/../dhii/stats-abstract',
202
  'aliases' => array(),
 
203
  'dev_requirement' => false,
204
  ),
205
  'dhii/stats-interface' => array(
206
  'pretty_version' => 'v0.1.0',
207
  'version' => '0.1.0.0',
208
+ 'reference' => '36d09a8b8a3b8058214dae6eefb8ecdd98e0f0ba',
209
  'type' => 'library',
210
  'install_path' => __DIR__ . '/../dhii/stats-interface',
211
  'aliases' => array(),
 
212
  'dev_requirement' => false,
213
  ),
214
  'dhii/stringable-interface' => array(
215
  'pretty_version' => 'v0.1',
216
  'version' => '0.1.0.0',
217
+ 'reference' => 'b6653905eef2ebf377749feb80a6d18abbe913ef',
218
  'type' => 'library',
219
  'install_path' => __DIR__ . '/../dhii/stringable-interface',
220
  'aliases' => array(),
 
221
  'dev_requirement' => false,
222
  ),
223
  'dhii/transformer-interface' => array(
224
  'pretty_version' => 'v0.1-alpha1',
225
  'version' => '0.1.0.0-alpha1',
226
+ 'reference' => 'e774efef46413eb34bdafc19a6bd74fbf656235d',
227
  'type' => 'library',
228
  'install_path' => __DIR__ . '/../dhii/transformer-interface',
229
  'aliases' => array(),
 
230
  'dev_requirement' => false,
231
  ),
232
  'dhii/validation-abstract' => array(
233
  'pretty_version' => 'v0.2-alpha1',
234
  'version' => '0.2.0.0-alpha1',
235
+ 'reference' => 'dff998ba3476927a0fc6d10bb022425de8f1c844',
236
  'type' => 'library',
237
  'install_path' => __DIR__ . '/../dhii/validation-abstract',
238
  'aliases' => array(),
 
239
  'dev_requirement' => false,
240
  ),
241
  'dhii/validation-base' => array(
242
  'pretty_version' => 'v0.2-alpha2',
243
  'version' => '0.2.0.0-alpha2',
244
+ 'reference' => '9e75c5f886a2403c6989c36c2d4ffcfae158172e',
245
  'type' => 'library',
246
  'install_path' => __DIR__ . '/../dhii/validation-base',
247
  'aliases' => array(),
 
248
  'dev_requirement' => false,
249
  ),
250
  'dhii/validation-interface' => array(
251
  'pretty_version' => 'v0.2',
252
  'version' => '0.2.0.0',
253
+ 'reference' => 'a26026ae5cdf0a650b3511a22dbcb9329073b82c',
254
  'type' => 'library',
255
  'install_path' => __DIR__ . '/../dhii/validation-interface',
256
  'aliases' => array(),
 
257
  'dev_requirement' => false,
258
  ),
259
  'erusev/parsedown' => array(
260
  'pretty_version' => '1.7.4',
261
  'version' => '1.7.4.0',
262
+ 'reference' => 'cb17b6477dfff935958ba01325f2e8a2bfa6dab3',
263
  'type' => 'library',
264
  'install_path' => __DIR__ . '/../erusev/parsedown',
265
  'aliases' => array(),
 
266
  'dev_requirement' => false,
267
  ),
268
  'psr/container' => array(
269
  'pretty_version' => '1.0.0',
270
  'version' => '1.0.0.0',
271
+ 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
272
  'type' => 'library',
273
  'install_path' => __DIR__ . '/../psr/container',
274
  'aliases' => array(),
 
275
  'dev_requirement' => false,
276
  ),
277
  'psr/log' => array(
278
  'pretty_version' => '1.1.4',
279
  'version' => '1.1.4.0',
280
+ 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
281
  'type' => 'library',
282
  'install_path' => __DIR__ . '/../psr/log',
283
  'aliases' => array(),
 
284
  'dev_requirement' => false,
285
  ),
286
  'rebelcode/composer-cleanup-plugin' => array(
287
  'pretty_version' => 'v0.2',
288
  'version' => '0.2.0.0',
289
+ 'reference' => '3677eb752eb8ca042ba6f725b33f419b93857a62',
290
  'type' => 'composer-plugin',
291
  'install_path' => __DIR__ . '/../rebelcode/composer-cleanup-plugin',
292
  'aliases' => array(),
 
293
  'dev_requirement' => false,
294
  ),
295
  'symfony/polyfill-ctype' => array(
296
  'pretty_version' => 'v1.19.0',
297
  'version' => '1.19.0.0',
298
+ 'reference' => 'aed596913b70fae57be53d86faa2e9ef85a2297b',
299
  'type' => 'library',
300
  'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
301
  'aliases' => array(),
 
302
  'dev_requirement' => false,
303
  ),
304
  'symfony/polyfill-mbstring' => array(
305
  'pretty_version' => 'v1.19.0',
306
  'version' => '1.19.0.0',
307
+ 'reference' => 'b5f7b932ee6fa802fc792eabd77c4c88084517ce',
308
  'type' => 'library',
309
  'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
310
  'aliases' => array(),
 
311
  'dev_requirement' => false,
312
  ),
313
  'symfony/translation' => array(
314
  'pretty_version' => 'v2.8.52',
315
  'version' => '2.8.52.0',
316
+ 'reference' => 'fc58c2a19e56c29f5ba2736ec40d0119a0de2089',
317
  'type' => 'library',
318
  'install_path' => __DIR__ . '/../symfony/translation',
319
  'aliases' => array(),
 
320
  'dev_requirement' => false,
321
  ),
322
  'twig/extensions' => array(
323
  'pretty_version' => 'v1.5.4',
324
  'version' => '1.5.4.0',
325
+ 'reference' => '57873c8b0c1be51caa47df2cdb824490beb16202',
326
  'type' => 'library',
327
  'install_path' => __DIR__ . '/../twig/extensions',
328
  'aliases' => array(),
 
329
  'dev_requirement' => false,
330
  ),
331
  'twig/twig' => array(
332
  'pretty_version' => 'v1.44.6',
333
  'version' => '1.44.6.0',
334
+ 'reference' => 'ae39480f010ef88adc7938503c9b02d3baf2f3b3',
335
  'type' => 'library',
336
  'install_path' => __DIR__ . '/../twig/twig',
337
  'aliases' => array(),
 
338
  'dev_requirement' => false,
339
  ),
340
  'wprss/core' => array(
341
+ 'pretty_version' => 'dev-develop',
342
+ 'version' => 'dev-develop',
343
+ 'reference' => '50d620b748e7c04864a40693d810b97e81f9b460',
344
  'type' => 'wordpress-plugin',
345
  'install_path' => __DIR__ . '/../../',
346
  'aliases' => array(),
 
347
  'dev_requirement' => false,
348
  ),
349
  ),
wp-rss-aggregator.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: WP RSS Aggregator
5
  * Plugin URI: https://www.wprssaggregator.com/#utm_source=wpadmin&utm_medium=plugin&utm_campaign=wpraplugin
6
  * Description: Imports and aggregates multiple RSS Feeds.
7
- * Version: 4.22
8
  * Author: RebelCode
9
  * Author URI: https://www.wprssaggregator.com
10
  * Text Domain: wprss
@@ -39,10 +39,12 @@ use RebelCode\Wpra\Core\Container\WpFilterContainer;
39
  use RebelCode\Wpra\Core\ErrorHandler;
40
  use RebelCode\Wpra\Core\Modules\AddonsModule;
41
  use RebelCode\Wpra\Core\Modules\AssetsModule;
 
42
  use RebelCode\Wpra\Core\Modules\BlacklistToolModule;
43
  use RebelCode\Wpra\Core\Modules\BulkAddToolModule;
44
  use RebelCode\Wpra\Core\Modules\CoreModule;
45
  use RebelCode\Wpra\Core\Modules\CustomFeedModule;
 
46
  use RebelCode\Wpra\Core\Modules\FeedBlacklistModule;
47
  use RebelCode\Wpra\Core\Modules\FeedDisplayModule;
48
  use RebelCode\Wpra\Core\Modules\FeedItemsModule;
@@ -76,7 +78,7 @@ use RebelCode\Wpra\Core\Plugin;
76
 
77
  // Set the version number of the plugin.
78
  if( !defined( 'WPRSS_VERSION' ) )
79
- define( 'WPRSS_VERSION', '4.22' );
80
 
81
  if( !defined( 'WPRSS_WP_MIN_VERSION' ) )
82
  define( 'WPRSS_WP_MIN_VERSION', '4.8' );
@@ -422,6 +424,9 @@ function wpra_modules()
422
  'twig' => new TwigModule(),
423
  'parsedown' => new ParsedownModule(),
424
  'polylang_compat' => new PolyLangCompatModule(),
 
 
 
425
  ]);
426
  }
427
 
4
  * Plugin Name: WP RSS Aggregator
5
  * Plugin URI: https://www.wprssaggregator.com/#utm_source=wpadmin&utm_medium=plugin&utm_campaign=wpraplugin
6
  * Description: Imports and aggregates multiple RSS Feeds.
7
+ * Version: 4.22.1
8
  * Author: RebelCode
9
  * Author URI: https://www.wprssaggregator.com
10
  * Text Domain: wprss
39
  use RebelCode\Wpra\Core\ErrorHandler;
40
  use RebelCode\Wpra\Core\Modules\AddonsModule;
41
  use RebelCode\Wpra\Core\Modules\AssetsModule;
42
+ use RebelCode\Wpra\Core\Modules\BlackFriday22Module;
43
  use RebelCode\Wpra\Core\Modules\BlacklistToolModule;
44
  use RebelCode\Wpra\Core\Modules\BulkAddToolModule;
45
  use RebelCode\Wpra\Core\Modules\CoreModule;
46
  use RebelCode\Wpra\Core\Modules\CustomFeedModule;
47
+ use RebelCode\Wpra\Core\Modules\FeedbackSurvey2022Module;
48
  use RebelCode\Wpra\Core\Modules\FeedBlacklistModule;
49
  use RebelCode\Wpra\Core\Modules\FeedDisplayModule;
50
  use RebelCode\Wpra\Core\Modules\FeedItemsModule;
78
 
79
  // Set the version number of the plugin.
80
  if( !defined( 'WPRSS_VERSION' ) )
81
+ define( 'WPRSS_VERSION', '4.22.1' );
82
 
83
  if( !defined( 'WPRSS_WP_MIN_VERSION' ) )
84
  define( 'WPRSS_WP_MIN_VERSION', '4.8' );
424
  'twig' => new TwigModule(),
425
  'parsedown' => new ParsedownModule(),
426
  'polylang_compat' => new PolyLangCompatModule(),
427
+ // temporary modules
428
+ 'bfcm22' => new BlackFriday22Module(),
429
+ 'survey2022' => new FeedbackSurvey2022Module(),
430
  ]);
431
  }
432