The Events Calendar - Version 5.8.1

Version Description

= [5.0] =

Please see the changelog for the complete list of changes in this release. Previous versions of The Events Calendar are not cross-compatible with 5.X add-ons. Remember to always make a backup of your database and files before updating!

Download this release

Release Info

Developer bordoni
Plugin Icon The Events Calendar
Version 5.8.1
Comparing to
See all releases

Code changes from version 5.8.0 to 5.8.1

Files changed (49) hide show
  1. common/lang/tribe-common-de_DE.mo +0 -0
  2. common/lang/tribe-common.pot +28 -28
  3. common/src/Tribe/Admin/Notice/Date_Based.php +213 -0
  4. common/src/Tribe/Admin/Notice/Marketing.php +1 -0
  5. common/src/Tribe/Admin/Notice/Marketing/Black_Friday.php +85 -0
  6. common/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php +63 -0
  7. common/src/Tribe/Admin/Notice/Service_Provider.php +62 -0
  8. common/src/Tribe/Admin/Notice/WP_Version.php +0 -1
  9. common/src/Tribe/Admin/Notices.php +1 -1
  10. common/src/Tribe/Main.php +4 -16
  11. common/src/admin-views/notices/tribe-stellar-sale.php +22 -0
  12. common/vendor/autoload.php +1 -1
  13. common/vendor/autoload_52.php +1 -1
  14. common/vendor/composer/autoload_classmap.php +4 -0
  15. common/vendor/composer/autoload_real.php +4 -4
  16. common/vendor/composer/autoload_real_52.php +3 -3
  17. common/vendor/composer/autoload_static.php +9 -5
  18. lang/the-events-calendar-de_DE.mo +0 -0
  19. lang/the-events-calendar-el.mo +0 -0
  20. lang/the-events-calendar-fr_FR.mo +0 -0
  21. lang/the-events-calendar-nl_BE.mo +0 -0
  22. lang/the-events-calendar-nl_NL.mo +0 -0
  23. lang/the-events-calendar-pl_PL.mo +0 -0
  24. lang/the-events-calendar-sl_SI.mo +0 -0
  25. lang/the-events-calendar.pot +45 -44
  26. license.txt +309 -309
  27. readme.txt +12 -2
  28. src/Tribe/API.php +16 -3
  29. src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php +4 -4
  30. src/Tribe/Aggregator/Tabs/New.php +14 -18
  31. src/Tribe/Customizer/General_Theme.php +5 -8
  32. src/Tribe/Editor/Meta.php +10 -1
  33. src/Tribe/Main.php +4 -4
  34. src/Tribe/Query.php +2 -2
  35. src/Tribe/REST/V1/Main.php +1 -1
  36. src/Tribe/Views/V2/Assets.php +15 -1
  37. src/Tribe/Views/V2/Template_Bootstrap.php +6 -1
  38. src/Tribe/Views/V2/Views/By_Day_View.php +21 -9
  39. src/admin-views/privacy.php +2 -2
  40. src/functions/template-tags/general.php +1 -1
  41. src/resources/css/aggregator-page.min.css +1 -1
  42. src/resources/css/tribe-events-single-full.min.css +1 -1
  43. src/resources/images/aggregator/EventAggregator-icon.svg +6 -0
  44. src/resources/images/aggregator/ea-intro-img-text.png +0 -0
  45. src/resources/js/views/README.md +2 -2
  46. the-events-calendar.php +2 -2
  47. vendor/autoload.php +1 -1
  48. vendor/composer/autoload_real.php +4 -4
  49. vendor/composer/autoload_static.php +4 -4
common/lang/tribe-common-de_DE.mo CHANGED
Binary file
common/lang/tribe-common.pot CHANGED
@@ -2,13 +2,13 @@
2
  # This file is distributed under the same license as the Tribe Common package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Tribe Common 4.13.6\n"
6
  "Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
7
- "POT-Creation-Date: 2021-06-30 20:59:49+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2021-06-30 20:59\n"
12
  "Last-Translator: \n"
13
  "Language-Team: \n"
14
 
@@ -40,7 +40,7 @@ msgstr ""
40
  msgid "Press \"Cmd + C\" to copy"
41
  msgstr ""
42
 
43
- #. #-#-#-#-# tribe-common.pot (Tribe Common 4.13.6) #-#-#-#-#
44
  #. Author of the plugin/theme
45
  #: src/Tribe/Admin/Help_Page.php:79 src/Tribe/Customizer.php:647
46
  #: src/Tribe/Plugins_API.php:25
@@ -221,21 +221,21 @@ msgid ""
221
  "compatible version of The Events Calendar. %2$s"
222
  msgstr ""
223
 
224
- #: src/Tribe/Admin/Notice/WP_Version.php:79
225
  msgid ""
226
  "You are using WordPress 5.7 which included a major jQuery update that may "
227
  "cause compatibility issues with past versions of The Events Calendar, Event "
228
  "Tickets and other plugins."
229
  msgstr ""
230
 
231
- #: src/Tribe/Admin/Notice/WP_Version.php:81
232
  msgid ""
233
  "WordPress 5.7 includes a major jQuery update that may cause compatibility "
234
  "issues with past versions of The Events Calendar, Event Tickets and other "
235
  "plugins."
236
  msgstr ""
237
 
238
- #: src/Tribe/Admin/Notice/WP_Version.php:83
239
  msgid "Read more."
240
  msgstr ""
241
 
@@ -1889,87 +1889,87 @@ msgstr ""
1889
  msgid "Full debug (all events)"
1890
  msgstr ""
1891
 
1892
- #: src/Tribe/Main.php:319
1893
  msgid ": activate to sort column ascending"
1894
  msgstr ""
1895
 
1896
- #: src/Tribe/Main.php:320
1897
  msgid ": activate to sort column descending"
1898
  msgstr ""
1899
 
1900
- #: src/Tribe/Main.php:322
1901
  msgid "Show _MENU_ entries"
1902
  msgstr ""
1903
 
1904
- #: src/Tribe/Main.php:323
1905
  msgid "No data available in table"
1906
  msgstr ""
1907
 
1908
- #: src/Tribe/Main.php:324
1909
  msgid "Showing _START_ to _END_ of _TOTAL_ entries"
1910
  msgstr ""
1911
 
1912
- #: src/Tribe/Main.php:325
1913
  msgid "Showing 0 to 0 of 0 entries"
1914
  msgstr ""
1915
 
1916
- #: src/Tribe/Main.php:326
1917
  msgid "(filtered from _MAX_ total entries)"
1918
  msgstr ""
1919
 
1920
- #: src/Tribe/Main.php:327
1921
  msgid "No matching records found"
1922
  msgstr ""
1923
 
1924
- #: src/Tribe/Main.php:328
1925
  msgid "Search:"
1926
  msgstr ""
1927
 
1928
- #: src/Tribe/Main.php:329
1929
  msgid "All items on this page were selected. "
1930
  msgstr ""
1931
 
1932
- #: src/Tribe/Main.php:330
1933
  msgid "Select all pages"
1934
  msgstr ""
1935
 
1936
- #: src/Tribe/Main.php:331
1937
  msgid "Clear Selection."
1938
  msgstr ""
1939
 
1940
- #: src/Tribe/Main.php:333
1941
  msgid "All"
1942
  msgstr ""
1943
 
1944
- #: src/Tribe/Main.php:334 src/Tribe/Main.php:351
1945
  msgid "Next"
1946
  msgstr ""
1947
 
1948
- #: src/Tribe/Main.php:335
1949
  msgid "Previous"
1950
  msgstr ""
1951
 
1952
- #: src/Tribe/Main.php:340
1953
  msgid ": Selected %d rows"
1954
  msgstr ""
1955
 
1956
- #: src/Tribe/Main.php:341
1957
  msgid ": Selected 1 row"
1958
  msgstr ""
1959
 
1960
- #: src/Tribe/Main.php:352
1961
  msgid "Prev"
1962
  msgstr ""
1963
 
1964
- #: src/Tribe/Main.php:353 src/Tribe/Main.php:355
1965
  msgid "Today"
1966
  msgstr ""
1967
 
1968
- #: src/Tribe/Main.php:354
1969
  msgid "Done"
1970
  msgstr ""
1971
 
1972
- #: src/Tribe/Main.php:356
1973
  msgid "Clear"
1974
  msgstr ""
1975
 
2
  # This file is distributed under the same license as the Tribe Common package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Tribe Common 4.14.1\n"
6
  "Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
7
+ "POT-Creation-Date: 2021-07-20 04:15:34+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2021-07-20 04:15\n"
12
  "Last-Translator: \n"
13
  "Language-Team: \n"
14
 
40
  msgid "Press \"Cmd + C\" to copy"
41
  msgstr ""
42
 
43
+ #. #-#-#-#-# tribe-common.pot (Tribe Common 4.14.1) #-#-#-#-#
44
  #. Author of the plugin/theme
45
  #: src/Tribe/Admin/Help_Page.php:79 src/Tribe/Customizer.php:647
46
  #: src/Tribe/Plugins_API.php:25
221
  "compatible version of The Events Calendar. %2$s"
222
  msgstr ""
223
 
224
+ #: src/Tribe/Admin/Notice/WP_Version.php:78
225
  msgid ""
226
  "You are using WordPress 5.7 which included a major jQuery update that may "
227
  "cause compatibility issues with past versions of The Events Calendar, Event "
228
  "Tickets and other plugins."
229
  msgstr ""
230
 
231
+ #: src/Tribe/Admin/Notice/WP_Version.php:80
232
  msgid ""
233
  "WordPress 5.7 includes a major jQuery update that may cause compatibility "
234
  "issues with past versions of The Events Calendar, Event Tickets and other "
235
  "plugins."
236
  msgstr ""
237
 
238
+ #: src/Tribe/Admin/Notice/WP_Version.php:82
239
  msgid "Read more."
240
  msgstr ""
241
 
1889
  msgid "Full debug (all events)"
1890
  msgstr ""
1891
 
1892
+ #: src/Tribe/Main.php:320
1893
  msgid ": activate to sort column ascending"
1894
  msgstr ""
1895
 
1896
+ #: src/Tribe/Main.php:321
1897
  msgid ": activate to sort column descending"
1898
  msgstr ""
1899
 
1900
+ #: src/Tribe/Main.php:323
1901
  msgid "Show _MENU_ entries"
1902
  msgstr ""
1903
 
1904
+ #: src/Tribe/Main.php:324
1905
  msgid "No data available in table"
1906
  msgstr ""
1907
 
1908
+ #: src/Tribe/Main.php:325
1909
  msgid "Showing _START_ to _END_ of _TOTAL_ entries"
1910
  msgstr ""
1911
 
1912
+ #: src/Tribe/Main.php:326
1913
  msgid "Showing 0 to 0 of 0 entries"
1914
  msgstr ""
1915
 
1916
+ #: src/Tribe/Main.php:327
1917
  msgid "(filtered from _MAX_ total entries)"
1918
  msgstr ""
1919
 
1920
+ #: src/Tribe/Main.php:328
1921
  msgid "No matching records found"
1922
  msgstr ""
1923
 
1924
+ #: src/Tribe/Main.php:329
1925
  msgid "Search:"
1926
  msgstr ""
1927
 
1928
+ #: src/Tribe/Main.php:330
1929
  msgid "All items on this page were selected. "
1930
  msgstr ""
1931
 
1932
+ #: src/Tribe/Main.php:331
1933
  msgid "Select all pages"
1934
  msgstr ""
1935
 
1936
+ #: src/Tribe/Main.php:332
1937
  msgid "Clear Selection."
1938
  msgstr ""
1939
 
1940
+ #: src/Tribe/Main.php:334
1941
  msgid "All"
1942
  msgstr ""
1943
 
1944
+ #: src/Tribe/Main.php:335 src/Tribe/Main.php:352
1945
  msgid "Next"
1946
  msgstr ""
1947
 
1948
+ #: src/Tribe/Main.php:336
1949
  msgid "Previous"
1950
  msgstr ""
1951
 
1952
+ #: src/Tribe/Main.php:341
1953
  msgid ": Selected %d rows"
1954
  msgstr ""
1955
 
1956
+ #: src/Tribe/Main.php:342
1957
  msgid ": Selected 1 row"
1958
  msgstr ""
1959
 
1960
+ #: src/Tribe/Main.php:353
1961
  msgid "Prev"
1962
  msgstr ""
1963
 
1964
+ #: src/Tribe/Main.php:354 src/Tribe/Main.php:356
1965
  msgid "Today"
1966
  msgstr ""
1967
 
1968
+ #: src/Tribe/Main.php:355
1969
  msgid "Done"
1970
  msgstr ""
1971
 
1972
+ #: src/Tribe/Main.php:357
1973
  msgid "Clear"
1974
  msgstr ""
1975
 
common/src/Tribe/Admin/Notice/Date_Based.php ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Abstract for various date-based Marketing notices, e.g. Black Friday sales or special coupon initiatives.
4
+ *
5
+ * @since TBD
6
+ */
7
+
8
+ namespace Tribe\Admin\Notice;
9
+
10
+ use Tribe__Date_Utils as Dates;
11
+
12
+ abstract class Date_Based {
13
+ /**
14
+ * The slug used to make filters specific to an individual notice.
15
+ *
16
+ * @since TBD
17
+ *
18
+ * @var string
19
+ */
20
+ public $slug = '';
21
+
22
+ /**
23
+ * Placeholder for start date string.
24
+ *
25
+ * @since TBD
26
+ *
27
+ * @var string
28
+ */
29
+ public $start_date;
30
+
31
+ /**
32
+ * Placeholder for start time int.
33
+ *
34
+ * @since TBD
35
+ *
36
+ * @var int
37
+ */
38
+ public $start_time;
39
+
40
+ /**
41
+ * Placeholder for end date string.
42
+ *
43
+ * @since TBD
44
+ *
45
+ * @var string
46
+ */
47
+ public $end_date;
48
+
49
+ /**
50
+ * Placeholder for end time int.
51
+ *
52
+ * @since TBD
53
+ *
54
+ * @var int
55
+ */
56
+ public $end_time;
57
+
58
+ /**
59
+ * Whether or not The Events Calendar is active.
60
+ *
61
+ * @since TBD
62
+ *
63
+ * @var boolean
64
+ */
65
+ public $tec_is_active;
66
+
67
+ /**
68
+ * Whether or not Event Tickets is active.
69
+ *
70
+ * @since TBD
71
+ *
72
+ * @var boolean
73
+ */
74
+ public $et_is_active;
75
+
76
+ public function __construct() {
77
+ $tribe_dependency = tribe( \Tribe__Dependency::class );
78
+ $this->tec_is_active = $tribe_dependency->is_plugin_active( 'Tribe__Events__Main' );
79
+ $this->et_is_active = $tribe_dependency->is_plugin_active( 'Tribe__Tickets__Main' );
80
+
81
+ $this->hook();
82
+ }
83
+
84
+ /**
85
+ * Register the various Marketing notices.
86
+ *
87
+ * @since TBD
88
+ */
89
+ public function hook() {
90
+ $this->hook_notice();
91
+ }
92
+
93
+ /**
94
+ * Register the notice.
95
+ *
96
+ * @since TBD
97
+ */
98
+ public function hook_notice() {
99
+ tribe_notice(
100
+ $this->slug,
101
+ [ $this, "display_notice" ],
102
+ [
103
+ 'type' => 'tribe-banner',
104
+ 'dismiss' => 1,
105
+ 'priority' => -1,
106
+ 'wrap' => false,
107
+ ],
108
+ [ $this, "should_display" ]
109
+ );
110
+ }
111
+
112
+ /**
113
+ * HTML for the notice.
114
+ *
115
+ * @since TBD
116
+ *
117
+ * @return string The HTML string to be displayed.
118
+ */
119
+ abstract function display_notice();
120
+
121
+ /**
122
+ * Whether the notice should display.
123
+ *
124
+ * @since TBD
125
+ *
126
+ * @return boolean $should_display Whether the notice should display or not.
127
+ */
128
+ public function should_display() {
129
+ // If upsells have been manually hidden, respect that.
130
+ if ( defined( 'TRIBE_HIDE_UPSELL' ) && TRIBE_HIDE_UPSELL ) {
131
+ return false;
132
+ }
133
+
134
+ $current_screen = get_current_screen();
135
+
136
+ $screens = [
137
+ 'tribe_events_page_tribe-app-shop', // App shop.
138
+ 'events_page_tribe-app-shop', // App shop.
139
+ 'tribe_events_page_tribe-common', // Settings & Welcome.
140
+ 'events_page_tribe-common', // Settings & Welcome.
141
+ 'toplevel_page_tribe-common', // Settings & Welcome.
142
+ ];
143
+
144
+ // If not a valid screen, don't display.
145
+ if ( empty( $current_screen->id ) || ! in_array( $current_screen->id, $screens, true ) ) {
146
+ return false;
147
+ }
148
+
149
+ $now = Dates::build_date_object( 'now', 'UTC' )->format( 'U' );
150
+ $notice_start = $this->get_start_time();
151
+ $notice_end = $this->get_end_time();
152
+
153
+ $should_display = $notice_start <= $now && $now < $notice_end;
154
+
155
+ /**
156
+ * Allow filtering of whether the notice should display.
157
+ *
158
+ * @since TBD
159
+ *
160
+ * @param boolean $should_display Whether the notice should display.
161
+ * @param Tribe__Admin__Notice_Date_Based $notice The notice object.
162
+ */
163
+ return apply_filters( "tribe_{$this->slug}_notice_should_display", $should_display, $this );
164
+ }
165
+
166
+ /**
167
+ * Unix time for notice start.
168
+ *
169
+ * @since TBD
170
+ *
171
+ * @return int $end_time The date & time the notice should start displaying, as a Unix timestamp.
172
+ */
173
+ public function get_start_time() {
174
+ $date = Dates::build_date_object( $this->start_date, 'UTC' );
175
+ $date = $date->setTime( $this->start_time, 0 );
176
+
177
+ /**
178
+ * Allow filtering of the start date DateTime object,
179
+ * to allow for things like "the day before" ( $date->modify( '-1 day' ) ) and such.
180
+ *
181
+ * @since TBD
182
+ *
183
+ * @param \DateTime $date Date object for the notice start.
184
+ */
185
+ $date = apply_filters( "tribe_{$this->slug}_notice_start_date", $date );
186
+
187
+ return $date->format( 'U' );
188
+ }
189
+
190
+ /**
191
+ * Unix time for notice end.
192
+ *
193
+ * @since TBD
194
+ *
195
+ * @return int $end_time The date & time the notice should stop displaying, as a Unix timestamp.
196
+ */
197
+ public function get_end_time() {
198
+ $date = Dates::build_date_object( $this->end_date, 'UTC' );
199
+ $date = $date->setTime( $this->end_time, 0 );
200
+
201
+ /**
202
+ * Allow filtering of the end date DateTime object,
203
+ * to allow for things like "the day after" ( $date->modify( '+1 day' ) ) and such.
204
+ *
205
+ * @since TBD
206
+ *
207
+ * @param \DateTime $date Date object for the notice end.
208
+ */
209
+ $date = apply_filters( "tribe_{$this->slug}_notice_end_date", $date );
210
+
211
+ return $date->format( 'U' );
212
+ }
213
+ }
common/src/Tribe/Admin/Notice/Marketing.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Various Marketing notices, e.g. Black Friday sales or special coupon initiatives.
4
  *
1
  <?php
2
+ _deprecated_file(__FILE__, 'TBD', 'Deprecated to a more granular approach.' );
3
  /**
4
  * Various Marketing notices, e.g. Black Friday sales or special coupon initiatives.
5
  *
common/src/Tribe/Admin/Notice/Marketing/Black_Friday.php ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Notice for the Black Friday Sale
4
+ *
5
+ * @since TBD
6
+ */
7
+
8
+ namespace Tribe\Admin\Notice\Marketing;
9
+
10
+ use Tribe__Date_Utils as Dates;
11
+
12
+ /**
13
+ * Class Black_Friday
14
+ *
15
+ * @since TBD
16
+ *
17
+ * @package Tribe\Admin\Notice\Marketing
18
+ */
19
+ class Black_Friday extends \Tribe\Admin\Notice\Date_Based {
20
+ /**
21
+ * {@inheritDoc}
22
+ */
23
+ public $slug = 'black-friday';
24
+
25
+ /**
26
+ * {@inheritDoc}
27
+ */
28
+ public $start_date = 'fourth Thursday of November';
29
+
30
+ /**
31
+ * {@inheritDoc}
32
+ *
33
+ * 11am UTC is 3am PST and 5am EST
34
+ */
35
+ public $start_time = 11;
36
+
37
+ /**
38
+ * {@inheritDoc}
39
+ */
40
+ public $end_date = 'December 1st';
41
+
42
+ /**
43
+ * {@inheritDoc}
44
+ */
45
+ public function display_notice() {
46
+ \Tribe__Assets::instance()->enqueue( [ 'tribe-common-admin' ] );
47
+
48
+ // Used in the template.
49
+ $cta_url = 'https://evnt.is/1aqi';
50
+ $icon_url = \Tribe__Main::instance()->plugin_url . 'src/resources/images/icons/sale-burst.svg';
51
+
52
+ ob_start();
53
+
54
+ include \Tribe__Main::instance()->plugin_path . 'src/admin-views/notices/tribe-bf-general.php';
55
+
56
+ return ob_get_clean();
57
+ }
58
+
59
+ /**
60
+ * Unix time for notice start.
61
+ * Note: we could instead use the ...notice_start_date filter to modify the date
62
+ * but this seemed more straightforward for now.
63
+ *
64
+ * @since TBD
65
+ *
66
+ * @return int $end_time The date & time the notice should start displaying, as a Unix timestamp.
67
+ */
68
+ public function get_start_time() {
69
+ $date = Dates::build_date_object( $this->start_date, 'UTC' );
70
+ $date = $date->modify( '-3 days' );
71
+ $date = $date->setTime( $this->start_time, 0 );
72
+
73
+ /**
74
+ * Allow filtering of the start date DateTime object,
75
+ * to allow for things like "the day before" ( $date->modify( '-1 day' ) ) and such.
76
+ *
77
+ * @since TBD
78
+ *
79
+ * @param \DateTime $date Date object for the notice start.
80
+ */
81
+ $date = apply_filters( "tribe_{$this->slug}_notice_start_date", $date );
82
+
83
+ return $date->format( 'U' );
84
+ }
85
+ }
common/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Notice for the Stellar Sale
4
+ *
5
+ * @since TBD
6
+ */
7
+
8
+ namespace Tribe\Admin\Notice\Marketing;
9
+
10
+ /**
11
+ * Class Stellar_Sale
12
+ *
13
+ * @since TBD
14
+ *
15
+ * @package Tribe\Admin\Notice\Marketing
16
+ */
17
+ class Stellar_Sale extends \Tribe\Admin\Notice\Date_Based {
18
+ /**
19
+ * {@inheritDoc}
20
+ */
21
+ public $slug = 'stellar-sale';
22
+
23
+ /**
24
+ * {@inheritDoc}
25
+ */
26
+ public $start_date = 'July 28th, 2021';
27
+
28
+ /**
29
+ * {@inheritDoc}
30
+ *
31
+ * 1pm UTC is 6am PDT (-7) and 9am EDT (-4)
32
+ */
33
+ public $start_time = 13;
34
+
35
+ /**
36
+ * {@inheritDoc}
37
+ */
38
+ public $end_date = 'August 4th, 2021';
39
+
40
+ /**
41
+ * {@inheritDoc}
42
+ *
43
+ * 5am UTC is 9pm PST (-8) and 12am EST (-5)
44
+ */
45
+ public $end_time = 5;
46
+
47
+ /**
48
+ * {@inheritDoc}
49
+ */
50
+ public function display_notice() {
51
+ \Tribe__Assets::instance()->enqueue( [ 'tribe-common-admin' ] );
52
+
53
+ // Used in the template.
54
+ $cta_url = 'https://evnt.is/1aqi';
55
+ $icon_url = \Tribe__Main::instance()->plugin_url . 'src/resources/images/icons/sale-burst.svg';
56
+
57
+ ob_start();
58
+
59
+ include \Tribe__Main::instance()->plugin_path . 'src/admin-views/notices/tribe-stellar-sale.php';
60
+
61
+ return ob_get_clean();
62
+ }
63
+ }
common/src/Tribe/Admin/Notice/Service_Provider.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Handles admin notice functions.
4
+ *
5
+ * @since TBD
6
+ *
7
+ * @package Tribe\Admin\Notice;
8
+ */
9
+
10
+ namespace Tribe\Admin\Notice;
11
+
12
+ /**
13
+ * Class Notice
14
+ *
15
+ * @since TBD
16
+ *
17
+ * @package Tribe\Admin\Notice
18
+ */
19
+ class Service_Provider extends \tad_DI52_ServiceProvider {
20
+
21
+ /**
22
+ * Registers the objects and filters required by the provider to manage admin notices.
23
+ *
24
+ * @since TBD
25
+ */
26
+ public function register() {
27
+ tribe_singleton( 'pue.notices', 'Tribe__PUE__Notices' );
28
+ tribe_singleton( WP_Version::class, WP_Version::class, [ 'hook' ] );
29
+ tribe_singleton( 'admin.notice.php.version', 'Tribe__Admin__Notice__Php_Version', [ 'hook' ] );
30
+ tribe_singleton( 'admin.notice.marketing', 'Tribe__Admin__Notice__Marketing', [ 'hook' ] );
31
+ tribe_singleton( Marketing\Stellar_Sale::class, Marketing\Stellar_Sale::class, [ 'hook' ] );
32
+
33
+ $this->hooks();
34
+ }
35
+
36
+ /**
37
+ * Set up hooks for classes.
38
+ *
39
+ * @since TBD
40
+ */
41
+ private function hooks() {
42
+ add_action( 'tribe_plugins_loaded', [ $this, 'plugins_loaded'] );
43
+ }
44
+
45
+ /**
46
+ * Setup for things that require plugins loaded first.
47
+ *
48
+ * @since TBD
49
+ */
50
+ public function plugins_loaded() {
51
+ tribe( 'pue.notices' );
52
+ tribe( 'admin.notice.php.version' );
53
+ tribe( WP_Version::class );
54
+
55
+ if ( defined( 'TRIBE_HIDE_MARKETING_NOTICES' ) ) {
56
+ return;
57
+ }
58
+
59
+ tribe( Marketing\Stellar_Sale::class );
60
+ tribe( Marketing\Black_Friday::class );
61
+ }
62
+ }
common/src/Tribe/Admin/Notice/WP_Version.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  namespace Tribe\Admin\Notice;
3
 
4
- use \Tribe__Date_Utils as Dates;
5
  use Tribe__Main as Common;
6
 
7
 
1
  <?php
2
  namespace Tribe\Admin\Notice;
3
 
 
4
  use Tribe__Main as Common;
5
 
6
 
common/src/Tribe/Admin/Notices.php CHANGED
@@ -154,7 +154,7 @@ class Tribe__Admin__Notices {
154
 
155
  $slug = sanitize_title_with_dashes( $_GET[ self::$meta_key ] );
156
 
157
- // Send a JSON answer with the status of dimissal
158
  wp_send_json( $this->dismiss( $slug ) );
159
  }
160
 
154
 
155
  $slug = sanitize_title_with_dashes( $_GET[ self::$meta_key ] );
156
 
157
+ // Send a JSON answer with the status of dismissal
158
  wp_send_json( $this->dismiss( $slug ) );
159
  }
160
 
common/src/Tribe/Main.php CHANGED
@@ -4,6 +4,8 @@
4
  */
5
 
6
  // Don't load directly
 
 
7
  use Tribe\DB_Lock;
8
 
9
  if ( ! defined( 'ABSPATH' ) ) {
@@ -19,7 +21,7 @@ class Tribe__Main {
19
  const OPTIONNAME = 'tribe_events_calendar_options';
20
  const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
21
 
22
- const VERSION = '4.14.0';
23
 
24
  const FEED_URL = 'https://theeventscalendar.com/feed/';
25
 
@@ -172,7 +174,6 @@ class Tribe__Main {
172
  tribe( 'settings.manager' );
173
  tribe( 'tracker' );
174
  tribe( 'plugins.api' );
175
- tribe( 'pue.notices' );
176
  tribe( 'ajax.dropdown' );
177
  tribe( 'logger' );
178
  }
@@ -576,16 +577,10 @@ class Tribe__Main {
576
  * Runs tribe_plugins_loaded action, should be hooked to the end of plugins_loaded
577
  */
578
  public function tribe_plugins_loaded() {
579
- tribe( 'admin.notice.php.version' );
580
  tribe( 'cache' );
581
  tribe_singleton( 'feature-detection', 'Tribe__Feature_Detection' );
582
  tribe_register_provider( 'Tribe__Service_Providers__Processes' );
583
 
584
- if ( ! defined( 'TRIBE_HIDE_MARKETING_NOTICES' ) ) {
585
- tribe( 'admin.notice.marketing' );
586
- }
587
-
588
- tribe( \Tribe\Admin\Notice\WP_Version::class );
589
 
590
  /**
591
  * Runs after all plugins including Tribe ones have loaded
@@ -625,18 +620,10 @@ class Tribe__Main {
625
  tribe_singleton( 'db-lock', DB_Lock::class );
626
  tribe_singleton( 'freemius', 'Tribe__Freemius' );
627
  tribe_singleton( 'customizer', 'Tribe__Customizer' );
628
-
629
  tribe_singleton( Tribe__Dependency::class, Tribe__Dependency::class );
630
-
631
  tribe_singleton( 'callback', 'Tribe__Utils__Callback' );
632
- tribe_singleton( 'pue.notices', 'Tribe__PUE__Notices' );
633
-
634
  tribe_singleton( Tribe__Admin__Help_Page::class, Tribe__Admin__Help_Page::class );
635
 
636
- tribe_singleton( 'admin.notice.php.version', 'Tribe__Admin__Notice__Php_Version', [ 'hook' ] );
637
- tribe_singleton( 'admin.notice.marketing', 'Tribe__Admin__Notice__Marketing', [ 'hook' ] );
638
- tribe_singleton( \Tribe\Admin\Notice\WP_Version::class, \Tribe\Admin\Notice\WP_Version::class, [ 'hook' ] );
639
-
640
  tribe_register_provider( Tribe__Editor__Provider::class );
641
  tribe_register_provider( Tribe__Service_Providers__Debug_Bar::class );
642
  tribe_register_provider( Tribe__Service_Providers__Promoter::class );
@@ -648,6 +635,7 @@ class Tribe__Main {
648
  tribe_register_provider( Tribe\Log\Service_Provider::class );
649
  tribe_register_provider( Tribe\Service_Providers\Crons::class );
650
  tribe_register_provider( Tribe\Service_Providers\Widgets::class );
 
651
  }
652
 
653
  /**
4
  */
5
 
6
  // Don't load directly
7
+
8
+ use Tribe\Admin\Notice\WP_Version;
9
  use Tribe\DB_Lock;
10
 
11
  if ( ! defined( 'ABSPATH' ) ) {
21
  const OPTIONNAME = 'tribe_events_calendar_options';
22
  const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
23
 
24
+ const VERSION = '4.14.1';
25
 
26
  const FEED_URL = 'https://theeventscalendar.com/feed/';
27
 
174
  tribe( 'settings.manager' );
175
  tribe( 'tracker' );
176
  tribe( 'plugins.api' );
 
177
  tribe( 'ajax.dropdown' );
178
  tribe( 'logger' );
179
  }
577
  * Runs tribe_plugins_loaded action, should be hooked to the end of plugins_loaded
578
  */
579
  public function tribe_plugins_loaded() {
 
580
  tribe( 'cache' );
581
  tribe_singleton( 'feature-detection', 'Tribe__Feature_Detection' );
582
  tribe_register_provider( 'Tribe__Service_Providers__Processes' );
583
 
 
 
 
 
 
584
 
585
  /**
586
  * Runs after all plugins including Tribe ones have loaded
620
  tribe_singleton( 'db-lock', DB_Lock::class );
621
  tribe_singleton( 'freemius', 'Tribe__Freemius' );
622
  tribe_singleton( 'customizer', 'Tribe__Customizer' );
 
623
  tribe_singleton( Tribe__Dependency::class, Tribe__Dependency::class );
 
624
  tribe_singleton( 'callback', 'Tribe__Utils__Callback' );
 
 
625
  tribe_singleton( Tribe__Admin__Help_Page::class, Tribe__Admin__Help_Page::class );
626
 
 
 
 
 
627
  tribe_register_provider( Tribe__Editor__Provider::class );
628
  tribe_register_provider( Tribe__Service_Providers__Debug_Bar::class );
629
  tribe_register_provider( Tribe__Service_Providers__Promoter::class );
635
  tribe_register_provider( Tribe\Log\Service_Provider::class );
636
  tribe_register_provider( Tribe\Service_Providers\Crons::class );
637
  tribe_register_provider( Tribe\Service_Providers\Widgets::class );
638
+ tribe_register_provider( Tribe\Admin\Notice\Service_Provider::class );
639
  }
640
 
641
  /**
common/src/admin-views/notices/tribe-stellar-sale.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The Stellar Sale admin notice.
4
+ *
5
+ * @since TBD
6
+ *
7
+ * @var string $icon_url The local URL for the notice's image.
8
+ * @var string $cta_url The short URL for black friday.
9
+ */
10
+ ?>
11
+ <div class="tribe-marketing-notice">
12
+ <div class="tribe-marketing-notice__icon">
13
+ <img src="<?php echo esc_url( $icon_url ); ?>"/>
14
+ </div>
15
+ <div class="tribe-marketing-notice__content">
16
+ <h3>Save 40% on all our plugins, and all StellarWP brand products.</h3>
17
+ <p>
18
+ Now through August 4.
19
+ <span class="tribe-marketing-notice__cta"><a target="_blank" href="<?php echo esc_url( $cta_url ); ?>">Shop now</a></span>
20
+ </p>
21
+ </div>
22
+ </div>
common/vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit4cbc6f7ab7c3753aced4e92011e91540::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit6fa4848edc90e57a8f88c59d319ce12a::getLoader();
common/vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInit5301f12df41b30906776a5cf23cdbd95::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit1960529f8529ca96b9119d6af83a12d9::getLoader();
common/vendor/composer/autoload_classmap.php CHANGED
@@ -114,6 +114,10 @@ return array(
114
  'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
115
  'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
116
  'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
 
 
 
 
117
  'Tribe\\Admin\\Notice\\WP_Version' => $baseDir . '/src/Tribe/Admin/Notice/WP_Version.php',
118
  'Tribe\\Customizer\\Control' => $baseDir . '/src/Tribe/Customizer/Control.php',
119
  'Tribe\\Customizer\\Controls\\Heading' => $baseDir . '/src/Tribe/Customizer/Controls/Heading.php',
114
  'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
115
  'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
116
  'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
117
+ 'Tribe\\Admin\\Notice\\Date_Based' => $baseDir . '/src/Tribe/Admin/Notice/Date_Based.php',
118
+ 'Tribe\\Admin\\Notice\\Marketing\\Black_Friday' => $baseDir . '/src/Tribe/Admin/Notice/Marketing/Black_Friday.php',
119
+ 'Tribe\\Admin\\Notice\\Marketing\\Stellar_Sale' => $baseDir . '/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php',
120
+ 'Tribe\\Admin\\Notice\\Service_Provider' => $baseDir . '/src/Tribe/Admin/Notice/Service_Provider.php',
121
  'Tribe\\Admin\\Notice\\WP_Version' => $baseDir . '/src/Tribe/Admin/Notice/WP_Version.php',
122
  'Tribe\\Customizer\\Control' => $baseDir . '/src/Tribe/Customizer/Control.php',
123
  'Tribe\\Customizer\\Controls\\Heading' => $baseDir . '/src/Tribe/Customizer/Controls/Heading.php',
common/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit4cbc6f7ab7c3753aced4e92011e91540
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit4cbc6f7ab7c3753aced4e92011e91540
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit4cbc6f7ab7c3753aced4e92011e91540', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit4cbc6f7ab7c3753aced4e92011e91540', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit6fa4848edc90e57a8f88c59d319ce12a
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit6fa4848edc90e57a8f88c59d319ce12a', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit6fa4848edc90e57a8f88c59d319ce12a', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit6fa4848edc90e57a8f88c59d319ce12a::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
common/vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInit5301f12df41b30906776a5cf23cdbd95 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit5301f12df41b30906776a5cf23cdbd95 {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit5301f12df41b30906776a5cf23cdbd95', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit5301f12df41b30906776a5cf23cdbd95', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInit1960529f8529ca96b9119d6af83a12d9 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit1960529f8529ca96b9119d6af83a12d9', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit1960529f8529ca96b9119d6af83a12d9', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
common/vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
@@ -170,6 +170,10 @@ class ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540
170
  'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
171
  'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
172
  'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
 
 
 
 
173
  'Tribe\\Admin\\Notice\\WP_Version' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/WP_Version.php',
174
  'Tribe\\Customizer\\Control' => __DIR__ . '/../..' . '/src/Tribe/Customizer/Control.php',
175
  'Tribe\\Customizer\\Controls\\Heading' => __DIR__ . '/../..' . '/src/Tribe/Customizer/Controls/Heading.php',
@@ -234,10 +238,10 @@ class ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540
234
  public static function getInitializer(ClassLoader $loader)
235
  {
236
  return \Closure::bind(function () use ($loader) {
237
- $loader->prefixLengthsPsr4 = ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540::$prefixLengthsPsr4;
238
- $loader->prefixDirsPsr4 = ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540::$prefixDirsPsr4;
239
- $loader->prefixesPsr0 = ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540::$prefixesPsr0;
240
- $loader->classMap = ComposerStaticInit4cbc6f7ab7c3753aced4e92011e91540::$classMap;
241
 
242
  }, null, ClassLoader::class);
243
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit6fa4848edc90e57a8f88c59d319ce12a
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
170
  'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
171
  'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
172
  'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
173
+ 'Tribe\\Admin\\Notice\\Date_Based' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Date_Based.php',
174
+ 'Tribe\\Admin\\Notice\\Marketing\\Black_Friday' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Marketing/Black_Friday.php',
175
+ 'Tribe\\Admin\\Notice\\Marketing\\Stellar_Sale' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php',
176
+ 'Tribe\\Admin\\Notice\\Service_Provider' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Service_Provider.php',
177
  'Tribe\\Admin\\Notice\\WP_Version' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/WP_Version.php',
178
  'Tribe\\Customizer\\Control' => __DIR__ . '/../..' . '/src/Tribe/Customizer/Control.php',
179
  'Tribe\\Customizer\\Controls\\Heading' => __DIR__ . '/../..' . '/src/Tribe/Customizer/Controls/Heading.php',
238
  public static function getInitializer(ClassLoader $loader)
239
  {
240
  return \Closure::bind(function () use ($loader) {
241
+ $loader->prefixLengthsPsr4 = ComposerStaticInit6fa4848edc90e57a8f88c59d319ce12a::$prefixLengthsPsr4;
242
+ $loader->prefixDirsPsr4 = ComposerStaticInit6fa4848edc90e57a8f88c59d319ce12a::$prefixDirsPsr4;
243
+ $loader->prefixesPsr0 = ComposerStaticInit6fa4848edc90e57a8f88c59d319ce12a::$prefixesPsr0;
244
+ $loader->classMap = ComposerStaticInit6fa4848edc90e57a8f88c59d319ce12a::$classMap;
245
 
246
  }, null, ClassLoader::class);
247
  }
lang/the-events-calendar-de_DE.mo CHANGED
Binary file
lang/the-events-calendar-el.mo CHANGED
Binary file
lang/the-events-calendar-fr_FR.mo CHANGED
Binary file
lang/the-events-calendar-nl_BE.mo ADDED
Binary file
lang/the-events-calendar-nl_NL.mo CHANGED
Binary file
lang/the-events-calendar-pl_PL.mo CHANGED
Binary file
lang/the-events-calendar-sl_SI.mo CHANGED
Binary file
lang/the-events-calendar.pot CHANGED
@@ -1,43 +1,43 @@
1
- # Copyright (C) 2021 Modern Tribe
2
  # This file is distributed under the same license as the The Events Calendar package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: The Events Calendar 5.8.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
7
  "calendar\n"
8
- "POT-Creation-Date: 2021-07-01 21:00:02+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2021-07-01 21:00\n"
13
  "Last-Translator: \n"
14
  "Language-Team: \n"
15
 
16
- #: src/Tribe/API.php:780
17
  msgid ""
18
  "An event having a post meta value of `%s` meridian is not valid. Make sure "
19
  "it is either `am` or `pm`, or remove it entirely if using the 24-hour format."
20
  msgstr ""
21
 
22
- #: src/Tribe/API.php:808
23
  msgid ""
24
  "An event having a post meta value of `%s` hour (am/pm) is not valid. Make "
25
  "sure it is from 1 to 12."
26
  msgstr ""
27
 
28
- #: src/Tribe/API.php:825
29
  msgid ""
30
  "An event having a post meta value of `%s` hour (12-hour) is not valid. Make "
31
  "sure it is from 1 to 12."
32
  msgstr ""
33
 
34
- #: src/Tribe/API.php:832
35
  msgid ""
36
  "An event having a post meta value of `%s` hour (24-hour) is not valid. Make "
37
  "sure it is from 0 to 23."
38
  msgstr ""
39
 
40
- #: src/Tribe/API.php:862 src/Tribe/API.php:873
41
  msgid ""
42
  "An event having a post meta value of `%s` minutes is not valid. Make sure it "
43
  "is from 0 to 59."
@@ -89,7 +89,7 @@ msgstr ""
89
  msgctxt "deprecation of legacy views"
90
  msgid ""
91
  "<b>Your calendar is changing</b><br> The Events Calendar's legacy views will "
92
- "no longer be available as of %2$s, %1$s!"
93
  msgstr ""
94
 
95
  #: src/Tribe/Admin/Notice/Marketing.php:49
@@ -1600,40 +1600,40 @@ msgstr ""
1600
  msgid "Unable to save credentials"
1601
  msgstr ""
1602
 
 
 
 
 
1603
  #: src/Tribe/Aggregator/Tabs/New.php:525
1604
- msgid "Import Using Event Aggregator"
1605
  msgstr ""
1606
 
1607
  #: src/Tribe/Aggregator/Tabs/New.php:527
1608
  msgid ""
1609
- "With Event Aggregator, you can import events from iCalendar, Google, and "
1610
- "Meetup.com in a jiffy."
1611
  msgstr ""
1612
 
1613
  #: src/Tribe/Aggregator/Tabs/New.php:530
1614
- msgid "Buy It Now"
1615
  msgstr ""
1616
 
1617
- #: src/Tribe/Aggregator/Tabs/New.php:532 src/Tribe/Aggregator/Tabs/New.php:539
1618
  #: src/admin-views/aggregator/banners/eventbrite-upsell.php:19
1619
  msgid "opens in a new window"
1620
  msgstr ""
1621
 
1622
- #: src/Tribe/Aggregator/Tabs/New.php:537
1623
- msgid "Learn More"
1624
- msgstr ""
1625
-
1626
- #: src/Tribe/Aggregator/Tabs/New.php:585
1627
  msgid "Your Event Aggregator license is expired."
1628
  msgstr ""
1629
 
1630
- #: src/Tribe/Aggregator/Tabs/New.php:586
1631
  msgid ""
1632
  "Renew your license in order to import events from iCalendar, Google, or "
1633
  "Meetup."
1634
  msgstr ""
1635
 
1636
- #: src/Tribe/Aggregator/Tabs/New.php:589
1637
  msgid "Renew your Event Aggregator license"
1638
  msgstr ""
1639
 
@@ -1916,62 +1916,62 @@ msgstr ""
1916
  msgid "Price Background Color"
1917
  msgstr ""
1918
 
1919
- #: src/Tribe/Customizer/General_Theme.php:270
1920
  msgid "General Theme"
1921
  msgstr ""
1922
 
1923
- #: src/Tribe/Customizer/General_Theme.php:271
1924
  msgid "Global configurations for the styling of The Events Calendar"
1925
  msgstr ""
1926
 
1927
- #: src/Tribe/Customizer/General_Theme.php:302
1928
  #: src/Tribe/Customizer/Global_Elements.php:231
1929
  msgid "Accent Color"
1930
  msgstr ""
1931
 
1932
- #: src/Tribe/Customizer/General_Theme.php:322
1933
  msgid "Featured Highlight Color"
1934
  msgstr ""
1935
 
1936
- #: src/Tribe/Customizer/General_Theme.php:345
1937
  msgid ""
1938
  "If the Featured highlight color is set to Custom, the following color will "
1939
  "be used:"
1940
  msgstr ""
1941
 
1942
- #: src/Tribe/Customizer/General_Theme.php:365
1943
  msgid "Blue Steel"
1944
  msgstr ""
1945
 
1946
- #: src/Tribe/Customizer/General_Theme.php:371
1947
  msgid "Deep Sea"
1948
  msgstr ""
1949
 
1950
- #: src/Tribe/Customizer/General_Theme.php:377
1951
  msgid "Default"
1952
  msgstr ""
1953
 
1954
- #: src/Tribe/Customizer/General_Theme.php:383
1955
  msgid "Evergreen"
1956
  msgstr ""
1957
 
1958
- #: src/Tribe/Customizer/General_Theme.php:389
1959
  msgid "Lagoon"
1960
  msgstr ""
1961
 
1962
- #: src/Tribe/Customizer/General_Theme.php:395
1963
  msgid "Malachite"
1964
  msgstr ""
1965
 
1966
- #: src/Tribe/Customizer/General_Theme.php:401
1967
  msgid "Skyfall"
1968
  msgstr ""
1969
 
1970
- #: src/Tribe/Customizer/General_Theme.php:407
1971
  msgid "Sunshine"
1972
  msgstr ""
1973
 
1974
- #: src/Tribe/Customizer/General_Theme.php:413
1975
  #: src/Tribe/Views/V2/Customizer.php:179
1976
  msgid "Custom"
1977
  msgstr ""
@@ -2104,9 +2104,9 @@ msgstr ""
2104
 
2105
  #: src/Tribe/Editor/Template.php:70 src/Tribe/Template/Embed.php:59
2106
  #: src/Tribe/Template/Single_Event.php:123
2107
- #: src/Tribe/Views/V2/Template_Bootstrap.php:136
2108
- #: src/Tribe/Views/V2/Template_Bootstrap.php:176
2109
- #: src/Tribe/Views/V2/Template_Bootstrap.php:497
2110
  msgid "This %s has passed."
2111
  msgstr ""
2112
 
@@ -2705,9 +2705,9 @@ msgstr ""
2705
  msgid "Upcoming Events"
2706
  msgstr ""
2707
 
2708
- #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.8.0) #-#-#-#-#
2709
  #. Plugin Name of the plugin/theme
2710
- #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.8.0) #-#-#-#-#
2711
  #. Author of the plugin/theme
2712
  #: src/Tribe/Main.php:995 src/Tribe/Main.php:1498 src/Tribe/Privacy.php:29
2713
  #: src/admin-views/admin-welcome-message.php:29
@@ -3190,7 +3190,7 @@ msgid "View All Add-Ons"
3190
  msgstr ""
3191
 
3192
  #: src/Tribe/Main.php:4262
3193
- msgid "News from Modern Tribe"
3194
  msgstr ""
3195
 
3196
  #: src/Tribe/Main.php:4308
@@ -6749,7 +6749,7 @@ msgid ""
6749
  "The Events Calendar suite offers the use of third-party API keys. The "
6750
  "primary functions are to enhance the features we've built in, some of which "
6751
  "use Google Maps, PayPal, Eventbrite, and Meetup. These API keys are not "
6752
- "supplied by Modern Tribe."
6753
  msgstr ""
6754
 
6755
  #: src/admin-views/privacy.php:49
@@ -6790,7 +6790,8 @@ msgstr ""
6790
 
6791
  #: src/admin-views/privacy.php:61
6792
  msgid ""
6793
- "Modern Tribe does not send any user data outside of your website by default."
 
6794
  msgstr ""
6795
 
6796
  #: src/admin-views/privacy.php:63
1
+ # Copyright (C) 2021 The Events Calendar
2
  # This file is distributed under the same license as the The Events Calendar package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: The Events Calendar 5.8.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
7
  "calendar\n"
8
+ "POT-Creation-Date: 2021-07-20 09:15:47+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2021-07-20 09:15\n"
13
  "Last-Translator: \n"
14
  "Language-Team: \n"
15
 
16
+ #: src/Tribe/API.php:793
17
  msgid ""
18
  "An event having a post meta value of `%s` meridian is not valid. Make sure "
19
  "it is either `am` or `pm`, or remove it entirely if using the 24-hour format."
20
  msgstr ""
21
 
22
+ #: src/Tribe/API.php:821
23
  msgid ""
24
  "An event having a post meta value of `%s` hour (am/pm) is not valid. Make "
25
  "sure it is from 1 to 12."
26
  msgstr ""
27
 
28
+ #: src/Tribe/API.php:838
29
  msgid ""
30
  "An event having a post meta value of `%s` hour (12-hour) is not valid. Make "
31
  "sure it is from 1 to 12."
32
  msgstr ""
33
 
34
+ #: src/Tribe/API.php:845
35
  msgid ""
36
  "An event having a post meta value of `%s` hour (24-hour) is not valid. Make "
37
  "sure it is from 0 to 23."
38
  msgstr ""
39
 
40
+ #: src/Tribe/API.php:875 src/Tribe/API.php:886
41
  msgid ""
42
  "An event having a post meta value of `%s` minutes is not valid. Make sure it "
43
  "is from 0 to 59."
89
  msgctxt "deprecation of legacy views"
90
  msgid ""
91
  "<b>Your calendar is changing</b><br> The Events Calendar's legacy views will "
92
+ "no longer be supported as of %2$s, %1$s."
93
  msgstr ""
94
 
95
  #: src/Tribe/Admin/Notice/Marketing.php:49
1600
  msgid "Unable to save credentials"
1601
  msgstr ""
1602
 
1603
+ #: src/Tribe/Aggregator/Tabs/New.php:522
1604
+ msgid "Events Aggregator"
1605
+ msgstr ""
1606
+
1607
  #: src/Tribe/Aggregator/Tabs/New.php:525
1608
+ msgid "Import events with ease"
1609
  msgstr ""
1610
 
1611
  #: src/Tribe/Aggregator/Tabs/New.php:527
1612
  msgid ""
1613
+ "Effortlessly fill your calendar with events from Meetup, Eventbrite, iCal, "
1614
+ "Google Calendar, and more."
1615
  msgstr ""
1616
 
1617
  #: src/Tribe/Aggregator/Tabs/New.php:530
1618
+ msgid "Learn More"
1619
  msgstr ""
1620
 
1621
+ #: src/Tribe/Aggregator/Tabs/New.php:532
1622
  #: src/admin-views/aggregator/banners/eventbrite-upsell.php:19
1623
  msgid "opens in a new window"
1624
  msgstr ""
1625
 
1626
+ #: src/Tribe/Aggregator/Tabs/New.php:581
 
 
 
 
1627
  msgid "Your Event Aggregator license is expired."
1628
  msgstr ""
1629
 
1630
+ #: src/Tribe/Aggregator/Tabs/New.php:582
1631
  msgid ""
1632
  "Renew your license in order to import events from iCalendar, Google, or "
1633
  "Meetup."
1634
  msgstr ""
1635
 
1636
+ #: src/Tribe/Aggregator/Tabs/New.php:585
1637
  msgid "Renew your Event Aggregator license"
1638
  msgstr ""
1639
 
1916
  msgid "Price Background Color"
1917
  msgstr ""
1918
 
1919
+ #: src/Tribe/Customizer/General_Theme.php:267
1920
  msgid "General Theme"
1921
  msgstr ""
1922
 
1923
+ #: src/Tribe/Customizer/General_Theme.php:268
1924
  msgid "Global configurations for the styling of The Events Calendar"
1925
  msgstr ""
1926
 
1927
+ #: src/Tribe/Customizer/General_Theme.php:299
1928
  #: src/Tribe/Customizer/Global_Elements.php:231
1929
  msgid "Accent Color"
1930
  msgstr ""
1931
 
1932
+ #: src/Tribe/Customizer/General_Theme.php:319
1933
  msgid "Featured Highlight Color"
1934
  msgstr ""
1935
 
1936
+ #: src/Tribe/Customizer/General_Theme.php:342
1937
  msgid ""
1938
  "If the Featured highlight color is set to Custom, the following color will "
1939
  "be used:"
1940
  msgstr ""
1941
 
1942
+ #: src/Tribe/Customizer/General_Theme.php:362
1943
  msgid "Blue Steel"
1944
  msgstr ""
1945
 
1946
+ #: src/Tribe/Customizer/General_Theme.php:368
1947
  msgid "Deep Sea"
1948
  msgstr ""
1949
 
1950
+ #: src/Tribe/Customizer/General_Theme.php:374
1951
  msgid "Default"
1952
  msgstr ""
1953
 
1954
+ #: src/Tribe/Customizer/General_Theme.php:380
1955
  msgid "Evergreen"
1956
  msgstr ""
1957
 
1958
+ #: src/Tribe/Customizer/General_Theme.php:386
1959
  msgid "Lagoon"
1960
  msgstr ""
1961
 
1962
+ #: src/Tribe/Customizer/General_Theme.php:392
1963
  msgid "Malachite"
1964
  msgstr ""
1965
 
1966
+ #: src/Tribe/Customizer/General_Theme.php:398
1967
  msgid "Skyfall"
1968
  msgstr ""
1969
 
1970
+ #: src/Tribe/Customizer/General_Theme.php:404
1971
  msgid "Sunshine"
1972
  msgstr ""
1973
 
1974
+ #: src/Tribe/Customizer/General_Theme.php:410
1975
  #: src/Tribe/Views/V2/Customizer.php:179
1976
  msgid "Custom"
1977
  msgstr ""
2104
 
2105
  #: src/Tribe/Editor/Template.php:70 src/Tribe/Template/Embed.php:59
2106
  #: src/Tribe/Template/Single_Event.php:123
2107
+ #: src/Tribe/Views/V2/Template_Bootstrap.php:141
2108
+ #: src/Tribe/Views/V2/Template_Bootstrap.php:181
2109
+ #: src/Tribe/Views/V2/Template_Bootstrap.php:502
2110
  msgid "This %s has passed."
2111
  msgstr ""
2112
 
2705
  msgid "Upcoming Events"
2706
  msgstr ""
2707
 
2708
+ #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.8.1) #-#-#-#-#
2709
  #. Plugin Name of the plugin/theme
2710
+ #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.8.1) #-#-#-#-#
2711
  #. Author of the plugin/theme
2712
  #: src/Tribe/Main.php:995 src/Tribe/Main.php:1498 src/Tribe/Privacy.php:29
2713
  #: src/admin-views/admin-welcome-message.php:29
3190
  msgstr ""
3191
 
3192
  #: src/Tribe/Main.php:4262
3193
+ msgid "News from The Events Calendar"
3194
  msgstr ""
3195
 
3196
  #: src/Tribe/Main.php:4308
6749
  "The Events Calendar suite offers the use of third-party API keys. The "
6750
  "primary functions are to enhance the features we've built in, some of which "
6751
  "use Google Maps, PayPal, Eventbrite, and Meetup. These API keys are not "
6752
+ "supplied by The Events Calendar."
6753
  msgstr ""
6754
 
6755
  #: src/admin-views/privacy.php:49
6790
 
6791
  #: src/admin-views/privacy.php:61
6792
  msgid ""
6793
+ "The Events Calendar does not send any user data outside of your website by "
6794
+ "default."
6795
  msgstr ""
6796
 
6797
  #: src/admin-views/privacy.php:63
license.txt CHANGED
@@ -1,309 +1,309 @@
1
- The Events Calendar
2
-
3
- Copyright 2009-2017 by Modern Tribe Inc and the contributors
4
-
5
- This program is free software; you can redistribute it and/or modify
6
- it under the terms of the GNU General Public License as published by
7
- the Free Software Foundation; either version 2 of the License, or
8
- (at your option) any later version.
9
-
10
- This program is distributed in the hope that it will be useful,
11
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- GNU General Public License for more details.
14
-
15
- You should have received a copy of the GNU General Public License
16
- along with this program; if not, write to the Free Software
17
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
-
19
- This program incorporates work covered by the following copyright and
20
- permission notices:
21
-
22
- WordPress - Web publishing software
23
-
24
- Copyright 2003-2017 by the contributors
25
-
26
- WordPress is released under the GPL
27
-
28
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
29
-
30
- GNU GENERAL PUBLIC LICENSE
31
- Version 2, June 1991
32
-
33
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
34
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
35
-
36
- Everyone is permitted to copy and distribute verbatim copies
37
- of this license document, but changing it is not allowed.
38
-
39
- Preamble
40
-
41
- The licenses for most software are designed to take away your
42
- freedom to share and change it. By contrast, the GNU General Public
43
- License is intended to guarantee your freedom to share and change free
44
- software--to make sure the software is free for all its users. This
45
- General Public License applies to most of the Free Software
46
- Foundation's software and to any other program whose authors commit to
47
- using it. (Some other Free Software Foundation software is covered by
48
- the GNU Library General Public License instead.) You can apply it to
49
- your programs, too.
50
-
51
- When we speak of free software, we are referring to freedom, not
52
- price. Our General Public Licenses are designed to make sure that you
53
- have the freedom to distribute copies of free software (and charge for
54
- this service if you wish), that you receive source code or can get it
55
- if you want it, that you can change the software or use pieces of it
56
- in new free programs; and that you know you can do these things.
57
-
58
- To protect your rights, we need to make restrictions that forbid
59
- anyone to deny you these rights or to ask you to surrender the rights.
60
- These restrictions translate to certain responsibilities for you if you
61
- distribute copies of the software, or if you modify it.
62
-
63
- For example, if you distribute copies of such a program, whether
64
- gratis or for a fee, you must give the recipients all the rights that
65
- you have. You must make sure that they, too, receive or can get the
66
- source code. And you must show them these terms so they know their
67
- rights.
68
-
69
- We protect your rights with two steps: (1) copyright the software, and
70
- (2) offer you this license which gives you legal permission to copy,
71
- distribute and/or modify the software.
72
-
73
- Also, for each author's protection and ours, we want to make certain
74
- that everyone understands that there is no warranty for this free
75
- software. If the software is modified by someone else and passed on, we
76
- want its recipients to know that what they have is not the original, so
77
- that any problems introduced by others will not reflect on the original
78
- authors' reputations.
79
-
80
- Finally, any free program is threatened constantly by software
81
- patents. We wish to avoid the danger that redistributors of a free
82
- program will individually obtain patent licenses, in effect making the
83
- program proprietary. To prevent this, we have made it clear that any
84
- patent must be licensed for everyone's free use or not licensed at all.
85
-
86
- The precise terms and conditions for copying, distribution and
87
- modification follow.
88
-
89
- GNU GENERAL PUBLIC LICENSE
90
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
91
-
92
- 0. This License applies to any program or other work which contains
93
- a notice placed by the copyright holder saying it may be distributed
94
- under the terms of this General Public License. The "Program", below,
95
- refers to any such program or work, and a "work based on the Program"
96
- means either the Program or any derivative work under copyright law:
97
- that is to say, a work containing the Program or a portion of it,
98
- either verbatim or with modifications and/or translated into another
99
- language. (Hereinafter, translation is included without limitation in
100
- the term "modification".) Each licensee is addressed as "you".
101
-
102
- Activities other than copying, distribution and modification are not
103
- covered by this License; they are outside its scope. The act of
104
- running the Program is not restricted, and the output from the Program
105
- is covered only if its contents constitute a work based on the
106
- Program (independent of having been made by running the Program).
107
- Whether that is true depends on what the Program does.
108
-
109
- 1. You may copy and distribute verbatim copies of the Program's
110
- source code as you receive it, in any medium, provided that you
111
- conspicuously and appropriately publish on each copy an appropriate
112
- copyright notice and disclaimer of warranty; keep intact all the
113
- notices that refer to this License and to the absence of any warranty;
114
- and give any other recipients of the Program a copy of this License
115
- along with the Program.
116
-
117
- You may charge a fee for the physical act of transferring a copy, and
118
- you may at your option offer warranty protection in exchange for a fee.
119
-
120
- 2. You may modify your copy or copies of the Program or any portion
121
- of it, thus forming a work based on the Program, and copy and
122
- distribute such modifications or work under the terms of Section 1
123
- above, provided that you also meet all of these conditions:
124
-
125
- a) You must cause the modified files to carry prominent notices
126
- stating that you changed the files and the date of any change.
127
-
128
- b) You must cause any work that you distribute or publish, that in
129
- whole or in part contains or is derived from the Program or any
130
- part thereof, to be licensed as a whole at no charge to all third
131
- parties under the terms of this License.
132
-
133
- c) If the modified program normally reads commands interactively
134
- when run, you must cause it, when started running for such
135
- interactive use in the most ordinary way, to print or display an
136
- announcement including an appropriate copyright notice and a
137
- notice that there is no warranty (or else, saying that you provide
138
- a warranty) and that users may redistribute the program under
139
- these conditions, and telling the user how to view a copy of this
140
- License. (Exception: if the Program itself is interactive but
141
- does not normally print such an announcement, your work based on
142
- the Program is not required to print an announcement.)
143
-
144
- These requirements apply to the modified work as a whole. If
145
- identifiable sections of that work are not derived from the Program,
146
- and can be reasonably considered independent and separate works in
147
- themselves, then this License, and its terms, do not apply to those
148
- sections when you distribute them as separate works. But when you
149
- distribute the same sections as part of a whole which is a work based
150
- on the Program, the distribution of the whole must be on the terms of
151
- this License, whose permissions for other licensees extend to the
152
- entire whole, and thus to each and every part regardless of who wrote it.
153
- Thus, it is not the intent of this section to claim rights or contest
154
- your rights to work written entirely by you; rather, the intent is to
155
- exercise the right to control the distribution of derivative or
156
- collective works based on the Program.
157
-
158
- In addition, mere aggregation of another work not based on the Program
159
- with the Program (or with a work based on the Program) on a volume of
160
- a storage or distribution medium does not bring the other work under
161
- the scope of this License.
162
-
163
- 3. You may copy and distribute the Program (or a work based on it,
164
- under Section 2) in object code or executable form under the terms of
165
- Sections 1 and 2 above provided that you also do one of the following:
166
-
167
- a) Accompany it with the complete corresponding machine-readable
168
- source code, which must be distributed under the terms of Sections
169
- 1 and 2 above on a medium customarily used for software interchange; or,
170
-
171
- b) Accompany it with a written offer, valid for at least three
172
- years, to give any third party, for a charge no more than your
173
- cost of physically performing source distribution, a complete
174
- machine-readable copy of the corresponding source code, to be
175
- distributed under the terms of Sections 1 and 2 above on a medium
176
- customarily used for software interchange; or,
177
-
178
- c) Accompany it with the information you received as to the offer
179
- to distribute corresponding source code. (This alternative is
180
- allowed only for noncommercial distribution and only if you
181
- received the program in object code or executable form with such
182
- an offer, in accord with Subsection b above.)
183
-
184
- The source code for a work means the preferred form of the work for
185
- making modifications to it. For an executable work, complete source
186
- code means all the source code for all modules it contains, plus any
187
- associated interface definition files, plus the scripts used to
188
- control compilation and installation of the executable. However, as a
189
- special exception, the source code distributed need not include
190
- anything that is normally distributed (in either source or binary
191
- form) with the major components (compiler, kernel, and so on) of the
192
- operating system on which the executable runs, unless that component
193
- itself accompanies the executable.
194
-
195
- If distribution of executable or object code is made by offering
196
- access to copy from a designated place, then offering equivalent
197
- access to copy the source code from the same place counts as
198
- distribution of the source code, even though third parties are not
199
- compelled to copy the source along with the object code.
200
-
201
- 4. You may not copy, modify, sublicense, or distribute the Program
202
- except as expressly provided under this License. Any attempt
203
- otherwise to copy, modify, sublicense or distribute the Program is
204
- void, and will automatically terminate your rights under this License.
205
- However, parties who have received copies, or rights, from you under
206
- this License will not have their licenses terminated so long as such
207
- parties remain in full compliance.
208
-
209
- 5. You are not required to accept this License, since you have not
210
- signed it. However, nothing else grants you permission to modify or
211
- distribute the Program or its derivative works. These actions are
212
- prohibited by law if you do not accept this License. Therefore, by
213
- modifying or distributing the Program (or any work based on the
214
- Program), you indicate your acceptance of this License to do so, and
215
- all its terms and conditions for copying, distributing or modifying
216
- the Program or works based on it.
217
-
218
- 6. Each time you redistribute the Program (or any work based on the
219
- Program), the recipient automatically receives a license from the
220
- original licensor to copy, distribute or modify the Program subject to
221
- these terms and conditions. You may not impose any further
222
- restrictions on the recipients' exercise of the rights granted herein.
223
- You are not responsible for enforcing compliance by third parties to
224
- this License.
225
-
226
- 7. If, as a consequence of a court judgment or allegation of patent
227
- infringement or for any other reason (not limited to patent issues),
228
- conditions are imposed on you (whether by court order, agreement or
229
- otherwise) that contradict the conditions of this License, they do not
230
- excuse you from the conditions of this License. If you cannot
231
- distribute so as to satisfy simultaneously your obligations under this
232
- License and any other pertinent obligations, then as a consequence you
233
- may not distribute the Program at all. For example, if a patent
234
- license would not permit royalty-free redistribution of the Program by
235
- all those who receive copies directly or indirectly through you, then
236
- the only way you could satisfy both it and this License would be to
237
- refrain entirely from distribution of the Program.
238
-
239
- If any portion of this section is held invalid or unenforceable under
240
- any particular circumstance, the balance of the section is intended to
241
- apply and the section as a whole is intended to apply in other
242
- circumstances.
243
-
244
- It is not the purpose of this section to induce you to infringe any
245
- patents or other property right claims or to contest validity of any
246
- such claims; this section has the sole purpose of protecting the
247
- integrity of the free software distribution system, which is
248
- implemented by public license practices. Many people have made
249
- generous contributions to the wide range of software distributed
250
- through that system in reliance on consistent application of that
251
- system; it is up to the author/donor to decide if he or she is willing
252
- to distribute software through any other system and a licensee cannot
253
- impose that choice.
254
-
255
- This section is intended to make thoroughly clear what is believed to
256
- be a consequence of the rest of this License.
257
-
258
- 8. If the distribution and/or use of the Program is restricted in
259
- certain countries either by patents or by copyrighted interfaces, the
260
- original copyright holder who places the Program under this License
261
- may add an explicit geographical distribution limitation excluding
262
- those countries, so that distribution is permitted only in or among
263
- countries not thus excluded. In such case, this License incorporates
264
- the limitation as if written in the body of this License.
265
-
266
- 9. The Free Software Foundation may publish revised and/or new versions
267
- of the General Public License from time to time. Such new versions will
268
- be similar in spirit to the present version, but may differ in detail to
269
- address new problems or concerns.
270
-
271
- Each version is given a distinguishing version number. If the Program
272
- specifies a version number of this License which applies to it and "any
273
- later version", you have the option of following the terms and conditions
274
- either of that version or of any later version published by the Free
275
- Software Foundation. If the Program does not specify a version number of
276
- this License, you may choose any version ever published by the Free Software
277
- Foundation.
278
-
279
- 10. If you wish to incorporate parts of the Program into other free
280
- programs whose distribution conditions are different, write to the author
281
- to ask for permission. For software which is copyrighted by the Free
282
- Software Foundation, write to the Free Software Foundation; we sometimes
283
- make exceptions for this. Our decision will be guided by the two goals
284
- of preserving the free status of all derivatives of our free software and
285
- of promoting the sharing and reuse of software generally.
286
-
287
- NO WARRANTY
288
-
289
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
290
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
291
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
292
- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
293
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
294
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
295
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
296
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
297
- REPAIR OR CORRECTION.
298
-
299
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
300
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
301
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
302
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
303
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
304
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
305
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
306
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
307
- POSSIBILITY OF SUCH DAMAGES.
308
-
309
- END OF TERMS AND CONDITIONS
1
+ The Events Calendar
2
+
3
+ Copyright 2009-2017 by The Events Calendar Inc and the contributors
4
+
5
+ This program is free software; you can redistribute it and/or modify
6
+ it under the terms of the GNU General Public License as published by
7
+ the Free Software Foundation; either version 2 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU General Public License for more details.
14
+
15
+ You should have received a copy of the GNU General Public License
16
+ along with this program; if not, write to the Free Software
17
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
+
19
+ This program incorporates work covered by the following copyright and
20
+ permission notices:
21
+
22
+ WordPress - Web publishing software
23
+
24
+ Copyright 2003-2017 by the contributors
25
+
26
+ WordPress is released under the GPL
27
+
28
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
29
+
30
+ GNU GENERAL PUBLIC LICENSE
31
+ Version 2, June 1991
32
+
33
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
34
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
35
+
36
+ Everyone is permitted to copy and distribute verbatim copies
37
+ of this license document, but changing it is not allowed.
38
+
39
+ Preamble
40
+
41
+ The licenses for most software are designed to take away your
42
+ freedom to share and change it. By contrast, the GNU General Public
43
+ License is intended to guarantee your freedom to share and change free
44
+ software--to make sure the software is free for all its users. This
45
+ General Public License applies to most of the Free Software
46
+ Foundation's software and to any other program whose authors commit to
47
+ using it. (Some other Free Software Foundation software is covered by
48
+ the GNU Library General Public License instead.) You can apply it to
49
+ your programs, too.
50
+
51
+ When we speak of free software, we are referring to freedom, not
52
+ price. Our General Public Licenses are designed to make sure that you
53
+ have the freedom to distribute copies of free software (and charge for
54
+ this service if you wish), that you receive source code or can get it
55
+ if you want it, that you can change the software or use pieces of it
56
+ in new free programs; and that you know you can do these things.
57
+
58
+ To protect your rights, we need to make restrictions that forbid
59
+ anyone to deny you these rights or to ask you to surrender the rights.
60
+ These restrictions translate to certain responsibilities for you if you
61
+ distribute copies of the software, or if you modify it.
62
+
63
+ For example, if you distribute copies of such a program, whether
64
+ gratis or for a fee, you must give the recipients all the rights that
65
+ you have. You must make sure that they, too, receive or can get the
66
+ source code. And you must show them these terms so they know their
67
+ rights.
68
+
69
+ We protect your rights with two steps: (1) copyright the software, and
70
+ (2) offer you this license which gives you legal permission to copy,
71
+ distribute and/or modify the software.
72
+
73
+ Also, for each author's protection and ours, we want to make certain
74
+ that everyone understands that there is no warranty for this free
75
+ software. If the software is modified by someone else and passed on, we
76
+ want its recipients to know that what they have is not the original, so
77
+ that any problems introduced by others will not reflect on the original
78
+ authors' reputations.
79
+
80
+ Finally, any free program is threatened constantly by software
81
+ patents. We wish to avoid the danger that redistributors of a free
82
+ program will individually obtain patent licenses, in effect making the
83
+ program proprietary. To prevent this, we have made it clear that any
84
+ patent must be licensed for everyone's free use or not licensed at all.
85
+
86
+ The precise terms and conditions for copying, distribution and
87
+ modification follow.
88
+
89
+ GNU GENERAL PUBLIC LICENSE
90
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
91
+
92
+ 0. This License applies to any program or other work which contains
93
+ a notice placed by the copyright holder saying it may be distributed
94
+ under the terms of this General Public License. The "Program", below,
95
+ refers to any such program or work, and a "work based on the Program"
96
+ means either the Program or any derivative work under copyright law:
97
+ that is to say, a work containing the Program or a portion of it,
98
+ either verbatim or with modifications and/or translated into another
99
+ language. (Hereinafter, translation is included without limitation in
100
+ the term "modification".) Each licensee is addressed as "you".
101
+
102
+ Activities other than copying, distribution and modification are not
103
+ covered by this License; they are outside its scope. The act of
104
+ running the Program is not restricted, and the output from the Program
105
+ is covered only if its contents constitute a work based on the
106
+ Program (independent of having been made by running the Program).
107
+ Whether that is true depends on what the Program does.
108
+
109
+ 1. You may copy and distribute verbatim copies of the Program's
110
+ source code as you receive it, in any medium, provided that you
111
+ conspicuously and appropriately publish on each copy an appropriate
112
+ copyright notice and disclaimer of warranty; keep intact all the
113
+ notices that refer to this License and to the absence of any warranty;
114
+ and give any other recipients of the Program a copy of this License
115
+ along with the Program.
116
+
117
+ You may charge a fee for the physical act of transferring a copy, and
118
+ you may at your option offer warranty protection in exchange for a fee.
119
+
120
+ 2. You may modify your copy or copies of the Program or any portion
121
+ of it, thus forming a work based on the Program, and copy and
122
+ distribute such modifications or work under the terms of Section 1
123
+ above, provided that you also meet all of these conditions:
124
+
125
+ a) You must cause the modified files to carry prominent notices
126
+ stating that you changed the files and the date of any change.
127
+
128
+ b) You must cause any work that you distribute or publish, that in
129
+ whole or in part contains or is derived from the Program or any
130
+ part thereof, to be licensed as a whole at no charge to all third
131
+ parties under the terms of this License.
132
+
133
+ c) If the modified program normally reads commands interactively
134
+ when run, you must cause it, when started running for such
135
+ interactive use in the most ordinary way, to print or display an
136
+ announcement including an appropriate copyright notice and a
137
+ notice that there is no warranty (or else, saying that you provide
138
+ a warranty) and that users may redistribute the program under
139
+ these conditions, and telling the user how to view a copy of this
140
+ License. (Exception: if the Program itself is interactive but
141
+ does not normally print such an announcement, your work based on
142
+ the Program is not required to print an announcement.)
143
+
144
+ These requirements apply to the modified work as a whole. If
145
+ identifiable sections of that work are not derived from the Program,
146
+ and can be reasonably considered independent and separate works in
147
+ themselves, then this License, and its terms, do not apply to those
148
+ sections when you distribute them as separate works. But when you
149
+ distribute the same sections as part of a whole which is a work based
150
+ on the Program, the distribution of the whole must be on the terms of
151
+ this License, whose permissions for other licensees extend to the
152
+ entire whole, and thus to each and every part regardless of who wrote it.
153
+ Thus, it is not the intent of this section to claim rights or contest
154
+ your rights to work written entirely by you; rather, the intent is to
155
+ exercise the right to control the distribution of derivative or
156
+ collective works based on the Program.
157
+
158
+ In addition, mere aggregation of another work not based on the Program
159
+ with the Program (or with a work based on the Program) on a volume of
160
+ a storage or distribution medium does not bring the other work under
161
+ the scope of this License.
162
+
163
+ 3. You may copy and distribute the Program (or a work based on it,
164
+ under Section 2) in object code or executable form under the terms of
165
+ Sections 1 and 2 above provided that you also do one of the following:
166
+
167
+ a) Accompany it with the complete corresponding machine-readable
168
+ source code, which must be distributed under the terms of Sections
169
+ 1 and 2 above on a medium customarily used for software interchange; or,
170
+
171
+ b) Accompany it with a written offer, valid for at least three
172
+ years, to give any third party, for a charge no more than your
173
+ cost of physically performing source distribution, a complete
174
+ machine-readable copy of the corresponding source code, to be
175
+ distributed under the terms of Sections 1 and 2 above on a medium
176
+ customarily used for software interchange; or,
177
+
178
+ c) Accompany it with the information you received as to the offer
179
+ to distribute corresponding source code. (This alternative is
180
+ allowed only for noncommercial distribution and only if you
181
+ received the program in object code or executable form with such
182
+ an offer, in accord with Subsection b above.)
183
+
184
+ The source code for a work means the preferred form of the work for
185
+ making modifications to it. For an executable work, complete source
186
+ code means all the source code for all modules it contains, plus any
187
+ associated interface definition files, plus the scripts used to
188
+ control compilation and installation of the executable. However, as a
189
+ special exception, the source code distributed need not include
190
+ anything that is normally distributed (in either source or binary
191
+ form) with the major components (compiler, kernel, and so on) of the
192
+ operating system on which the executable runs, unless that component
193
+ itself accompanies the executable.
194
+
195
+ If distribution of executable or object code is made by offering
196
+ access to copy from a designated place, then offering equivalent
197
+ access to copy the source code from the same place counts as
198
+ distribution of the source code, even though third parties are not
199
+ compelled to copy the source along with the object code.
200
+
201
+ 4. You may not copy, modify, sublicense, or distribute the Program
202
+ except as expressly provided under this License. Any attempt
203
+ otherwise to copy, modify, sublicense or distribute the Program is
204
+ void, and will automatically terminate your rights under this License.
205
+ However, parties who have received copies, or rights, from you under
206
+ this License will not have their licenses terminated so long as such
207
+ parties remain in full compliance.
208
+
209
+ 5. You are not required to accept this License, since you have not
210
+ signed it. However, nothing else grants you permission to modify or
211
+ distribute the Program or its derivative works. These actions are
212
+ prohibited by law if you do not accept this License. Therefore, by
213
+ modifying or distributing the Program (or any work based on the
214
+ Program), you indicate your acceptance of this License to do so, and
215
+ all its terms and conditions for copying, distributing or modifying
216
+ the Program or works based on it.
217
+
218
+ 6. Each time you redistribute the Program (or any work based on the
219
+ Program), the recipient automatically receives a license from the
220
+ original licensor to copy, distribute or modify the Program subject to
221
+ these terms and conditions. You may not impose any further
222
+ restrictions on the recipients' exercise of the rights granted herein.
223
+ You are not responsible for enforcing compliance by third parties to
224
+ this License.
225
+
226
+ 7. If, as a consequence of a court judgment or allegation of patent
227
+ infringement or for any other reason (not limited to patent issues),
228
+ conditions are imposed on you (whether by court order, agreement or
229
+ otherwise) that contradict the conditions of this License, they do not
230
+ excuse you from the conditions of this License. If you cannot
231
+ distribute so as to satisfy simultaneously your obligations under this
232
+ License and any other pertinent obligations, then as a consequence you
233
+ may not distribute the Program at all. For example, if a patent
234
+ license would not permit royalty-free redistribution of the Program by
235
+ all those who receive copies directly or indirectly through you, then
236
+ the only way you could satisfy both it and this License would be to
237
+ refrain entirely from distribution of the Program.
238
+
239
+ If any portion of this section is held invalid or unenforceable under
240
+ any particular circumstance, the balance of the section is intended to
241
+ apply and the section as a whole is intended to apply in other
242
+ circumstances.
243
+
244
+ It is not the purpose of this section to induce you to infringe any
245
+ patents or other property right claims or to contest validity of any
246
+ such claims; this section has the sole purpose of protecting the
247
+ integrity of the free software distribution system, which is
248
+ implemented by public license practices. Many people have made
249
+ generous contributions to the wide range of software distributed
250
+ through that system in reliance on consistent application of that
251
+ system; it is up to the author/donor to decide if he or she is willing
252
+ to distribute software through any other system and a licensee cannot
253
+ impose that choice.
254
+
255
+ This section is intended to make thoroughly clear what is believed to
256
+ be a consequence of the rest of this License.
257
+
258
+ 8. If the distribution and/or use of the Program is restricted in
259
+ certain countries either by patents or by copyrighted interfaces, the
260
+ original copyright holder who places the Program under this License
261
+ may add an explicit geographical distribution limitation excluding
262
+ those countries, so that distribution is permitted only in or among
263
+ countries not thus excluded. In such case, this License incorporates
264
+ the limitation as if written in the body of this License.
265
+
266
+ 9. The Free Software Foundation may publish revised and/or new versions
267
+ of the General Public License from time to time. Such new versions will
268
+ be similar in spirit to the present version, but may differ in detail to
269
+ address new problems or concerns.
270
+
271
+ Each version is given a distinguishing version number. If the Program
272
+ specifies a version number of this License which applies to it and "any
273
+ later version", you have the option of following the terms and conditions
274
+ either of that version or of any later version published by the Free
275
+ Software Foundation. If the Program does not specify a version number of
276
+ this License, you may choose any version ever published by the Free Software
277
+ Foundation.
278
+
279
+ 10. If you wish to incorporate parts of the Program into other free
280
+ programs whose distribution conditions are different, write to the author
281
+ to ask for permission. For software which is copyrighted by the Free
282
+ Software Foundation, write to the Free Software Foundation; we sometimes
283
+ make exceptions for this. Our decision will be guided by the two goals
284
+ of preserving the free status of all derivatives of our free software and
285
+ of promoting the sharing and reuse of software generally.
286
+
287
+ NO WARRANTY
288
+
289
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
290
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
291
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
292
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
293
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
294
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
295
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
296
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
297
+ REPAIR OR CORRECTION.
298
+
299
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
300
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
301
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
302
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
303
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
304
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
305
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
306
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
307
+ POSSIBILITY OF SUCH DAMAGES.
308
+
309
+ END OF TERMS AND CONDITIONS
readme.txt CHANGED
@@ -4,8 +4,8 @@ Contributors: theeventscalendar, borkweb, bordoni, brianjessee, aguseo, camwynsp
4
  Tags: events, calendar, event, schedule, organizer
5
  Donate link: https://evnt.is/29
6
  Requires at least: 4.9.16
7
- Stable tag: 5.8.0
8
- Tested up to: 5.7.2
9
  Requires PHP: 5.6
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -221,6 +221,16 @@ Remember to always make a backup of your database and files before updating!
221
 
222
  == Changelog ==
223
 
 
 
 
 
 
 
 
 
 
 
224
  = [5.8.0] 2021-07-01 =
225
 
226
  * Version - The Events Calendar 5.8.0 is only compatible with Events Calendar PRO 5.8.0 and higher
4
  Tags: events, calendar, event, schedule, organizer
5
  Donate link: https://evnt.is/29
6
  Requires at least: 4.9.16
7
+ Stable tag: 5.8.1
8
+ Tested up to: 5.8.0
9
  Requires PHP: 5.6
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
221
 
222
  == Changelog ==
223
 
224
+ = [5.8.1] 2021-07-20 =
225
+
226
+ * Tweak - Remove some CSS on the single events page that was causing a random border to appear on avada theme [TEC-3952]
227
+ * Tweak - Add CSS class to the event tags label on the event details section on the single event page. [TEC-3951]
228
+ * Tweak - Correct the messaging and link for the v1 deprecation notice. [TEC-3958]
229
+ * Tweak - Include filter to allow modifications to the Grid query for By Day Views like Month and Week, `tribe_events_views_v2_by_day_view_day_repository`
230
+ * Fix - Ensure that the Block Editor saves cost data when submitted. [TEC-3987]
231
+ * Fix - Ensure that when viewing a single event we load the correct template when tribe_context is "confused". [TEC-3975]
232
+ * Language - 5 new strings added, 26 updated, 2 fuzzied, and 5 obsoleted
233
+
234
  = [5.8.0] 2021-07-01 =
235
 
236
  * Version - The Events Calendar 5.8.0 is only compatible with Events Calendar PRO 5.8.0 and higher
src/Tribe/API.php CHANGED
@@ -479,12 +479,25 @@ if ( ! class_exists( 'Tribe__Events__API' ) ) {
479
  * range of cost values the tribe_events_event_costs filter hook should be
480
  * leveraged.
481
  *
482
- * @param $event_id
 
 
 
483
  */
484
- public static function update_event_cost( $event_id ) {
485
  // Loads current event costs, on construct
486
  // Tribe__Events__Tickets__Tickets->get_ticket_prices() adds them to this filter
487
- $event_cost = (array) apply_filters( 'tribe_events_event_costs', [], $event_id );
 
 
 
 
 
 
 
 
 
 
488
 
489
  // Kill the old cost meta data
490
  delete_post_meta( $event_id, '_EventCost' );
479
  * range of cost values the tribe_events_event_costs filter hook should be
480
  * leveraged.
481
  *
482
+ * @since TBD
483
+ * @param array|string|int $cost Event cost.
484
+ * @param int $event_id Event post ID.
485
+ *
486
  */
487
+ public static function update_event_cost( $event_id, $cost = [] ) {
488
  // Loads current event costs, on construct
489
  // Tribe__Events__Tickets__Tickets->get_ticket_prices() adds them to this filter
490
+
491
+ /**
492
+ * Allows filtering of the event cost and returns either an int or string
493
+ * depending on whether the event cost is a single value or a price range
494
+ *
495
+ * @since 3.9
496
+ *
497
+ * @param array|string|int $cost Event cost.
498
+ * @param int $event_id Event post ID.
499
+ */
500
+ $event_cost = (array) apply_filters( 'tribe_events_event_costs', $cost, $event_id );
501
 
502
  // Kill the old cost meta data
503
  delete_post_meta( $event_id, '_EventCost' );
src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php CHANGED
@@ -89,12 +89,12 @@ class Legacy_Views_Deprecation {
89
  if ( $this->is_debug() ) {
90
  $link = sprintf(
91
  '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>',
92
- esc_url( 'https://evnt.is/legacyviews' ),
93
  esc_html_x( 'Learn more', 'Read more about deprecation of legacy views.', 'the-events-calendar' )
94
  );
95
 
96
  return sprintf(
97
- _x( '<b>Your calendar is changing</b><br> The Events Calendar\'s legacy views will no longer be available as of %2$s, %1$s!', 'deprecation of legacy views', 'the-events-calendar' ),
98
  $link,
99
  esc_html( $this->get_deprecation_date()->format_i18n( 'F d, Y' ) )
100
  );
@@ -102,12 +102,12 @@ class Legacy_Views_Deprecation {
102
 
103
  $link = sprintf(
104
  '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>',
105
- esc_url( 'https://evnt.is/legacyviews' ),
106
  esc_html_x( 'Learn more', 'Read more about deprecation of legacy views.', 'the-events-calendar' )
107
  );
108
 
109
  return sprintf(
110
- _x( '<b>Your calendar is changing</b><br> The Events Calendar\'s legacy views will no longer be available as of %2$s, %1$s!', 'deprecation of legacy views', 'the-events-calendar' ),
111
  $link,
112
  esc_html( $this->get_deprecation_date()->format_i18n( 'F d, Y' ) )
113
  );
89
  if ( $this->is_debug() ) {
90
  $link = sprintf(
91
  '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>',
92
+ esc_url( 'https://evnt.is/legacy-blog' ),
93
  esc_html_x( 'Learn more', 'Read more about deprecation of legacy views.', 'the-events-calendar' )
94
  );
95
 
96
  return sprintf(
97
+ _x( '<b>Your calendar is changing</b><br> The Events Calendar\'s legacy views will no longer be supported as of %2$s, %1$s.', 'deprecation of legacy views', 'the-events-calendar' ),
98
  $link,
99
  esc_html( $this->get_deprecation_date()->format_i18n( 'F d, Y' ) )
100
  );
102
 
103
  $link = sprintf(
104
  '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>',
105
+ esc_url( 'https://evnt.is/legacy-blog' ),
106
  esc_html_x( 'Learn more', 'Read more about deprecation of legacy views.', 'the-events-calendar' )
107
  );
108
 
109
  return sprintf(
110
+ _x( '<b>Your calendar is changing</b><br> The Events Calendar\'s legacy views will no longer be supported as of %2$s, %1$s.', 'deprecation of legacy views', 'the-events-calendar' ),
111
  $link,
112
  esc_html( $this->get_deprecation_date()->format_i18n( 'F d, Y' ) )
113
  );
src/Tribe/Aggregator/Tabs/New.php CHANGED
@@ -517,28 +517,24 @@ class Tribe__Events__Aggregator__Tabs__New extends Tribe__Events__Aggregator__Ta
517
  ob_start();
518
  ?>
519
  <div class="notice inline notice-info tribe-dependent tribe-notice-tribe-missing-aggregator-license" data-ref="tribe-missing-aggregator-license" data-depends="#tribe-ea-field-origin" data-condition-empty>
 
 
 
 
520
 
521
- <div class="upsell-banner">
522
- <img src="<?php echo esc_url( tribe_events_resource_url( 'images/aggregator/upsell-banner.png' ) ) ; ?>">
523
- </div>
524
-
525
- <h3><?php esc_html_e( 'Import Using Event Aggregator', 'the-events-calendar' ); ?></h3>
526
 
527
- <p><?php esc_html_e( 'With Event Aggregator, you can import events from iCalendar, Google, and Meetup.com in a jiffy.', 'the-events-calendar' ); ?></p>
528
 
529
- <a href="https://evnt.is/196y" class="tribe-license-link tribe-button tribe-button-primary" target="_blank">
530
- <?php esc_html_e( 'Buy It Now', 'the-events-calendar' );?>
531
- <span class="screen-reader-text">
532
- <?php esc_html_e( 'opens in a new window', 'the-events-calendar' );?>
533
- </span>
534
- </a>
 
 
535
 
536
- <a href="https://evnt.is/196z" class="tribe-license-link tribe-button tribe-button-secondary" target="_blank">
537
- <?php esc_html_e( 'Learn More', 'the-events-calendar' ); ?>
538
- <span class="screen-reader-text">
539
- <?php esc_html_e( 'opens in a new window', 'the-events-calendar' );?>
540
- </span>
541
- </a>
542
  </div>
543
  <?php
544
 
517
  ob_start();
518
  ?>
519
  <div class="notice inline notice-info tribe-dependent tribe-notice-tribe-missing-aggregator-license" data-ref="tribe-missing-aggregator-license" data-depends="#tribe-ea-field-origin" data-condition-empty>
520
+ <div class="tribe-notice-tribe-missing-aggregator-license__content">
521
+ <div class="upsell-banner">
522
+ <?php esc_html_e( 'Events Aggregator', 'the-events-calendar' );?>
523
+ </div>
524
 
525
+ <h3><?php esc_html_e( 'Import events with ease', 'the-events-calendar' ); ?></h3>
 
 
 
 
526
 
527
+ <p><?php esc_html_e( 'Effortlessly fill your calendar with events from Meetup, Eventbrite, iCal, Google Calendar, and more.', 'the-events-calendar' ); ?></p>
528
 
529
+ <a href="https://evnt.is/196z" class="tribe-license-link tribe-button tribe-button-secondary" target="_blank">
530
+ <?php esc_html_e( 'Learn More', 'the-events-calendar' ); ?>
531
+ <span class="screen-reader-text">
532
+ <?php esc_html_e( 'opens in a new window', 'the-events-calendar' );?>
533
+ </span>
534
+ </a>
535
+ </div>
536
+ <div class="tribe-notice-tribe-missing-aggregator-license__image"></div>
537
 
 
 
 
 
 
 
538
  </div>
539
  <?php
540
 
src/Tribe/Customizer/General_Theme.php CHANGED
@@ -33,11 +33,9 @@ final class Tribe__Events__Customizer__General_Theme extends Tribe__Customizer__
33
  * @return string
34
  */
35
  protected function get_button_bg_color( $settings = [] ) {
36
- if ( empty( $settings['featured_color_scheme'] ) ) {
37
- return '';
38
- }
39
-
40
- $scheme = $this->sanitize_featured_color_choice( $settings['featured_color_scheme'] );
41
  $schemes = $this->get_featured_color_schemes();
42
 
43
  if ( 'custom' === $scheme && isset( $settings['featured_color_scheme_custom'] ) ) {
@@ -97,9 +95,8 @@ final class Tribe__Events__Customizer__General_Theme extends Tribe__Customizer__
97
 
98
  $customizer = tribe( 'customizer' );
99
  $settings = $customizer->get_option( [ $this->ID ] );
100
- if ( ! empty( $settings['featured_color_scheme'] ) ) {
101
- $background_color_obj = new Tribe__Utils__Color( $this->get_button_bg_color( $settings ) );
102
- }
103
 
104
  if ( $customizer->has_option( $this->ID, 'accent_color' ) ) {
105
  $template .= '
33
  * @return string
34
  */
35
  protected function get_button_bg_color( $settings = [] ) {
36
+ $scheme = isset( $settings['featured_color_scheme'] )
37
+ ? $this->sanitize_featured_color_choice( $settings['featured_color_scheme'] )
38
+ : 'default';
 
 
39
  $schemes = $this->get_featured_color_schemes();
40
 
41
  if ( 'custom' === $scheme && isset( $settings['featured_color_scheme_custom'] ) ) {
95
 
96
  $customizer = tribe( 'customizer' );
97
  $settings = $customizer->get_option( [ $this->ID ] );
98
+ $background_color_obj = empty( $settings['featured_color_scheme'] ) ? false
99
+ : new Tribe__Utils__Color( $this->get_button_bg_color( $settings ) );
 
100
 
101
  if ( $customizer->has_option( $this->ID, 'accent_color' ) ) {
102
  $template .= '
src/Tribe/Editor/Meta.php CHANGED
@@ -194,7 +194,16 @@ class Tribe__Events__Editor__Meta extends Tribe__Editor__Meta {
194
  public function update_cost( $post_data, $request ) {
195
  $post_id = $request->get_param( 'id' );
196
 
197
- \Tribe__Events__API::update_event_cost( $post_id );
 
 
 
 
 
 
 
 
 
198
 
199
  return $post_data;
200
  }
194
  public function update_cost( $post_data, $request ) {
195
  $post_id = $request->get_param( 'id' );
196
 
197
+ // Fetch cost data from the request (if set).
198
+ $json = $request->get_json_params();
199
+
200
+ $meta = Tribe__Utils__Array::get( $json, 'meta', [] );
201
+
202
+ // If the cost is set in the submitted data, set THAT as the default else set an appropriate default for the cost.
203
+ $cost = isset( $meta['_EventCost'] ) ? [ $meta['_EventCost'] ] : (array) tribe_get_cost( $post_id );
204
+
205
+ // Update the cost for the event.
206
+ \Tribe__Events__API::update_event_cost( $post_id, $cost );
207
 
208
  return $post_data;
209
  }
src/Tribe/Main.php CHANGED
@@ -32,7 +32,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
32
  const VENUE_POST_TYPE = 'tribe_venue';
33
  const ORGANIZER_POST_TYPE = 'tribe_organizer';
34
 
35
- const VERSION = '5.8.0';
36
 
37
  /**
38
  * Min Pro Addon
@@ -338,7 +338,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
338
 
339
  /**
340
  * To avoid duplication of our own methods and to provide a underlying system
341
- * Modern Tribe maintains a Library called Common to store a base for our plugins
342
  *
343
  * Currently we will read the File `common/package.json` to determine which version
344
  * of the Common Lib we will pass to the Auto-Loader of PHP.
@@ -2592,7 +2592,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
2592
  }
2593
 
2594
  /**
2595
- * Returns the default view, providing a fallback if the default is no longer availble.
2596
  *
2597
  * This can be useful is for instance a view added by another plugin (such as PRO) is
2598
  * stored as the default but can no longer be generated due to the plugin being deactivated.
@@ -4259,7 +4259,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
4259
  */
4260
  public function dashboardWidget() {
4261
  wp_add_dashboard_widget(
4262
- 'tribe_dashboard_widget', esc_html__( 'News from Modern Tribe', 'the-events-calendar' ),
4263
  [
4264
  $this,
4265
  'outputDashboardWidget',
32
  const VENUE_POST_TYPE = 'tribe_venue';
33
  const ORGANIZER_POST_TYPE = 'tribe_organizer';
34
 
35
+ const VERSION = '5.8.1';
36
 
37
  /**
38
  * Min Pro Addon
338
 
339
  /**
340
  * To avoid duplication of our own methods and to provide a underlying system
341
+ * The Events Calendar maintains a Library called Common to store a base for our plugins
342
  *
343
  * Currently we will read the File `common/package.json` to determine which version
344
  * of the Common Lib we will pass to the Auto-Loader of PHP.
2592
  }
2593
 
2594
  /**
2595
+ * Returns the default view, providing a fallback if the default is no longer available.
2596
  *
2597
  * This can be useful is for instance a view added by another plugin (such as PRO) is
2598
  * stored as the default but can no longer be generated due to the plugin being deactivated.
4259
  */
4260
  public function dashboardWidget() {
4261
  wp_add_dashboard_widget(
4262
+ 'tribe_dashboard_widget', esc_html__( 'News from The Events Calendar', 'the-events-calendar' ),
4263
  [
4264
  $this,
4265
  'outputDashboardWidget',
src/Tribe/Query.php CHANGED
@@ -157,7 +157,7 @@ if ( ! class_exists( 'Tribe__Events__Query' ) ) {
157
 
158
  $types = ( ! empty( $query->query_vars['post_type'] ) ? (array) $query->query_vars['post_type'] : [] );
159
 
160
- // check if any possiblity of this being an event query
161
  $query->tribe_is_event = ( in_array( Tribe__Events__Main::POSTTYPE, $types ) && count( $types ) < 2 )
162
  ? true // it was an event query
163
  : false;
@@ -170,7 +170,7 @@ if ( ! class_exists( 'Tribe__Events__Query' ) ) {
170
  $query->set( 'eventDisplay', Tribe__Events__Main::instance()->default_view() );
171
  }
172
 
173
- // check if any possiblity of this being an event category
174
  $query->tribe_is_event_category = ! empty ( $query->query_vars[ Tribe__Events__Main::TAXONOMY ] )
175
  ? true // it was an event category
176
  : false;
157
 
158
  $types = ( ! empty( $query->query_vars['post_type'] ) ? (array) $query->query_vars['post_type'] : [] );
159
 
160
+ // check if any possibility of this being an event query
161
  $query->tribe_is_event = ( in_array( Tribe__Events__Main::POSTTYPE, $types ) && count( $types ) < 2 )
162
  ? true // it was an event query
163
  : false;
170
  $query->set( 'eventDisplay', Tribe__Events__Main::instance()->default_view() );
171
  }
172
 
173
+ // check if any possibility of this being an event category
174
  $query->tribe_is_event_category = ! empty ( $query->query_vars[ Tribe__Events__Main::TAXONOMY ] )
175
  ? true // it was an event category
176
  : false;
src/Tribe/REST/V1/Main.php CHANGED
@@ -13,7 +13,7 @@ class Tribe__Events__REST__V1__Main extends Tribe__REST__Main {
13
  /**
14
  * The Events Calendar REST API URL prefix.
15
  *
16
- * This prefx is appended to the Modern Tribe REST API URL ones.
17
  *
18
  * @var string
19
  */
13
  /**
14
  * The Events Calendar REST API URL prefix.
15
  *
16
+ * This prefix is appended to the The Events Calendar REST API URL ones.
17
  *
18
  * @var string
19
  */
src/Tribe/Views/V2/Assets.php CHANGED
@@ -32,6 +32,15 @@ class Assets extends \tad_DI52_ServiceProvider {
32
  */
33
  public static $group_key = 'events-views-v2';
34
 
 
 
 
 
 
 
 
 
 
35
  /**
36
  * Key for the widget group of assets.
37
  *
@@ -403,6 +412,7 @@ class Assets extends \tad_DI52_ServiceProvider {
403
  'wp_enqueue_scripts',
404
  [
405
  'priority' => 15,
 
406
  'conditionals' => [
407
  [ $this, 'should_enqueue_single_event_styles' ],
408
  ],
@@ -419,6 +429,7 @@ class Assets extends \tad_DI52_ServiceProvider {
419
  'wp_enqueue_scripts',
420
  [
421
  'priority' => 15,
 
422
  'conditionals' => [
423
  'operator' => 'AND',
424
  [ $this, 'should_enqueue_single_event_styles' ],
@@ -545,7 +556,10 @@ class Assets extends \tad_DI52_ServiceProvider {
545
  }
546
 
547
  // Bail if Block Editor.
548
- if ( has_blocks( get_queried_object_id() ) ) {
 
 
 
549
  return false;
550
  }
551
 
32
  */
33
  public static $group_key = 'events-views-v2';
34
 
35
+ /**
36
+ * Key for this group of assets.
37
+ *
38
+ * @since TBD
39
+ *
40
+ * @var string
41
+ */
42
+ public static $single_group_key = 'events-views-v2-single';
43
+
44
  /**
45
  * Key for the widget group of assets.
46
  *
412
  'wp_enqueue_scripts',
413
  [
414
  'priority' => 15,
415
+ 'groups' => [ static::$single_group_key ],
416
  'conditionals' => [
417
  [ $this, 'should_enqueue_single_event_styles' ],
418
  ],
429
  'wp_enqueue_scripts',
430
  [
431
  'priority' => 15,
432
+ 'groups' => [ static::$single_group_key ],
433
  'conditionals' => [
434
  'operator' => 'AND',
435
  [ $this, 'should_enqueue_single_event_styles' ],
556
  }
557
 
558
  // Bail if Block Editor.
559
+ if (
560
+ tribe( 'editor' )->is_events_using_blocks()
561
+ && has_blocks( get_queried_object_id() )
562
+ ) {
563
  return false;
564
  }
565
 
src/Tribe/Views/V2/Template_Bootstrap.php CHANGED
@@ -116,7 +116,12 @@ class Template_Bootstrap {
116
  * @return bool Whether the current request is for the single event template or not.
117
  */
118
  public function is_single_event() {
 
 
 
 
119
  $conditions = [
 
120
  is_singular( TEC::POSTTYPE ),
121
  'single-event' === tribe_context()->get( 'view' ),
122
  ];
@@ -211,7 +216,7 @@ class Template_Bootstrap {
211
  }
212
 
213
  $should_display_single = (
214
- 'single-event' === $view_slug
215
  && ! tribe_is_showing_all()
216
  && ! V1_Templates::is_embed()
217
  );
116
  * @return bool Whether the current request is for the single event template or not.
117
  */
118
  public function is_single_event() {
119
+ if( ! did_action( 'parse_query' ) ) {
120
+ return false;
121
+ }
122
+
123
  $conditions = [
124
+ tribe_context()->get( 'tec_post_type' ),
125
  is_singular( TEC::POSTTYPE ),
126
  'single-event' === tribe_context()->get( 'view' ),
127
  ];
216
  }
217
 
218
  $should_display_single = (
219
+ $this->is_single_event()
220
  && ! tribe_is_showing_all()
221
  && ! V1_Templates::is_embed()
222
  );
src/Tribe/Views/V2/Views/By_Day_View.php CHANGED
@@ -225,6 +225,18 @@ abstract class By_Day_View extends View {
225
  ->per_page( - 1 )
226
  ->order_by( $order_by, $order );
227
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  $view_event_ids = $events_repository->all();
229
 
230
  /**
@@ -248,8 +260,8 @@ abstract class By_Day_View extends View {
248
  }
249
 
250
  $all_day_event_ids = [];
251
- $site_timezone = Timezones::build_timezone_object();
252
- $utc = Timezones::build_timezone_object( 'UTC' );
253
 
254
  // phpcs:ignore
255
  /** @var \Tribe\Utils\Date_I18n $day */
@@ -257,7 +269,7 @@ abstract class By_Day_View extends View {
257
  $day_string = $day->format( 'Y-m-d' );
258
 
259
  if ( $using_period_repository && isset( $repository ) ) {
260
- $day_results = $repository->by_date( $day_string )->get_set();
261
  $day_event_ids = [];
262
 
263
  $event_ids = [];
@@ -495,12 +507,12 @@ abstract class By_Day_View extends View {
495
  // * convert it to the current site timezone
496
  // * check if the event fits into the day, given shifted start and end of day
497
  $event_localized_start_date = Dates::build_date_object( $event->start_date, $utc )
498
- ->setTimezone( $site_timezone );
499
  $event_localized_end_date = Dates::build_date_object( $event->end_date, $utc )
500
- ->setTimezone( $site_timezone );
501
 
502
  $should_backfill = $event_localized_start_date->format( Dates::DBDATETIMEFORMAT ) <= $end
503
- && $event_localized_end_date->format( Dates::DBDATETIMEFORMAT ) >= $start;
504
  }
505
 
506
  if ( $should_backfill && ! in_array( $event_id, $this->grid_days_cache[ $event_day_string ], true ) ) {
@@ -595,13 +607,13 @@ abstract class By_Day_View extends View {
595
  $this_week_duration = 7;
596
 
597
  if ( $starts_this_week && $ends_this_week ) {
598
- $this_week_duration = $occurrences['count'][ $event ];
599
  $displays_on[ $event ][] = $occurrences['first'][ $event ];
600
  } elseif ( $starts_this_week ) {
601
- $this_week_duration = Dates::date_diff( $week_end, $occurrences['first'][ $event ] ) + 1;
602
  $displays_on[ $event ][] = $occurrences['first'][ $event ];
603
  } elseif ( $ends_this_week ) {
604
- $this_week_duration = Dates::date_diff( $occurrences['last'][ $event ], $week_start ) + 1;
605
  $displays_on[ $event ][] = $week_start;
606
  }
607
 
225
  ->per_page( - 1 )
226
  ->order_by( $order_by, $order );
227
 
228
+ /**
229
+ * Allows modifications to the repository, which allows specific modifications to the grid query.
230
+ *
231
+ * @since TBD
232
+ *
233
+ * @param \Tribe__Repository__Interface $events_repository The Event repository we are going to filter.
234
+ * @param DateTimeInterface $grid_start The View grid start date.
235
+ * @param DateTimeInterface $grid_end The View grid end date.
236
+ * @param By_Day_View $this A reference to the View instance that has fired this filter.
237
+ */
238
+ $events_repository = apply_filters( 'tribe_events_views_v2_by_day_view_day_repository', $events_repository, $grid_start, $grid_end, $this );
239
+
240
  $view_event_ids = $events_repository->all();
241
 
242
  /**
260
  }
261
 
262
  $all_day_event_ids = [];
263
+ $site_timezone = Timezones::build_timezone_object();
264
+ $utc = Timezones::build_timezone_object( 'UTC' );
265
 
266
  // phpcs:ignore
267
  /** @var \Tribe\Utils\Date_I18n $day */
269
  $day_string = $day->format( 'Y-m-d' );
270
 
271
  if ( $using_period_repository && isset( $repository ) ) {
272
+ $day_results = $repository->by_date( $day_string )->get_set();
273
  $day_event_ids = [];
274
 
275
  $event_ids = [];
507
  // * convert it to the current site timezone
508
  // * check if the event fits into the day, given shifted start and end of day
509
  $event_localized_start_date = Dates::build_date_object( $event->start_date, $utc )
510
+ ->setTimezone( $site_timezone );
511
  $event_localized_end_date = Dates::build_date_object( $event->end_date, $utc )
512
+ ->setTimezone( $site_timezone );
513
 
514
  $should_backfill = $event_localized_start_date->format( Dates::DBDATETIMEFORMAT ) <= $end
515
+ && $event_localized_end_date->format( Dates::DBDATETIMEFORMAT ) >= $start;
516
  }
517
 
518
  if ( $should_backfill && ! in_array( $event_id, $this->grid_days_cache[ $event_day_string ], true ) ) {
607
  $this_week_duration = 7;
608
 
609
  if ( $starts_this_week && $ends_this_week ) {
610
+ $this_week_duration = $occurrences['count'][ $event ];
611
  $displays_on[ $event ][] = $occurrences['first'][ $event ];
612
  } elseif ( $starts_this_week ) {
613
+ $this_week_duration = Dates::date_diff( $week_end, $occurrences['first'][ $event ] ) + 1;
614
  $displays_on[ $event ][] = $occurrences['first'][ $event ];
615
  } elseif ( $ends_this_week ) {
616
+ $this_week_duration = Dates::date_diff( $occurrences['last'][ $event ], $week_start ) + 1;
617
  $displays_on[ $event ][] = $week_start;
618
  }
619
 
src/admin-views/privacy.php CHANGED
@@ -42,7 +42,7 @@ if ( ! defined( 'ABSPATH' ) ) {
42
 
43
  <h3><?php esc_html_e( 'API Keys', 'the-events-calendar' ); ?></h3>
44
 
45
- <p class="privacy-policy-tutorial"><?php esc_html_e( 'The Events Calendar suite offers the use of third-party API keys. The primary functions are to enhance the features we\'ve built in, some of which use Google Maps, PayPal, Eventbrite, and Meetup. These API keys are not supplied by Modern Tribe.', 'the-events-calendar' ); ?></p>
46
 
47
  <p class="privacy-policy-tutorial"><strong><?php esc_html_e( 'Suggested text:', 'event-tickets' ); ?></strong></p>
48
 
@@ -58,7 +58,7 @@ if ( ! defined( 'ABSPATH' ) ) {
58
 
59
  <h3 class="privacy-policy-tutorial"><?php esc_html_e( 'Where We Send Your Data', 'the-events-calendar' ); ?></h3>
60
 
61
- <p class="privacy-policy-tutorial"><?php esc_html_e( 'Modern Tribe does not send any user data outside of your website by default.', 'the-events-calendar' ); ?></p>
62
 
63
  <p class="privacy-policy-tutorial"><?php esc_html_e( 'If you have extended our plugin(s) to send data to a third-party service such as Eventbrite, Google Maps, or PayPal, user information may be passed to these external services. These services may be located abroad.', 'the-events-calendar' ); ?></p>
64
 
42
 
43
  <h3><?php esc_html_e( 'API Keys', 'the-events-calendar' ); ?></h3>
44
 
45
+ <p class="privacy-policy-tutorial"><?php esc_html_e( 'The Events Calendar suite offers the use of third-party API keys. The primary functions are to enhance the features we\'ve built in, some of which use Google Maps, PayPal, Eventbrite, and Meetup. These API keys are not supplied by The Events Calendar.', 'the-events-calendar' ); ?></p>
46
 
47
  <p class="privacy-policy-tutorial"><strong><?php esc_html_e( 'Suggested text:', 'event-tickets' ); ?></strong></p>
48
 
58
 
59
  <h3 class="privacy-policy-tutorial"><?php esc_html_e( 'Where We Send Your Data', 'the-events-calendar' ); ?></h3>
60
 
61
+ <p class="privacy-policy-tutorial"><?php esc_html_e( 'The Events Calendar does not send any user data outside of your website by default.', 'the-events-calendar' ); ?></p>
62
 
63
  <p class="privacy-policy-tutorial"><?php esc_html_e( 'If you have extended our plugin(s) to send data to a third-party service such as Eventbrite, Google Maps, or PayPal, user information may be passed to these external services. These services may be located abroad.', 'the-events-calendar' ); ?></p>
64
 
src/functions/template-tags/general.php CHANGED
@@ -551,7 +551,7 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
551
  }
552
 
553
  $tribe_ecp = Tribe__Events__Main::instance();
554
- $list = get_the_term_list( get_the_ID(), 'post_tag', '<dt>' . $label . '</dt><dd class="tribe-event-tags">', $separator, '</dd>' );
555
  $list = apply_filters( 'tribe_meta_event_tags', $list, $label, $separator, $echo );
556
  if ( $echo ) {
557
  echo $list;
551
  }
552
 
553
  $tribe_ecp = Tribe__Events__Main::instance();
554
+ $list = get_the_term_list( get_the_ID(), 'post_tag', '<dt class="tribe-event-tags-label">' . $label . '</dt><dd class="tribe-event-tags">', $separator, '</dd>' );
555
  $list = apply_filters( 'tribe_meta_event_tags', $list, $label, $separator, $echo );
556
  if ( $echo ) {
557
  echo $list;
src/resources/css/aggregator-page.min.css CHANGED
@@ -1 +1 @@
1
- .tribe-ea .tribe-ea-tab{padding:20px;margin-top:20px;border:1px solid #ccc;background-color:#fff}.tribe-ea .tribe-ea-tab .form-table th[scope=row]{width:140px}.tribe-ea .tribe-ea-tab .form-table tr{position:relative}.tribe-ea .tribe-ea-tab .form-table .eb-url-row th[scope=row]{padding:0}.tribe-ea .tribe-ea-tab .form-table .eb-url-row td{padding:0 10px}.tribe-ea .tribe-ea-tab .subsubsub li{font-weight:700}.tribe-ea .tribe-ea-tab .subsubsub .count,.tribe-ea .tribe-ea-tab .subsubsub a{font-weight:400}.tribe-ea .tribe-ea-help{padding:4px;color:#0073aa;cursor:pointer}.tribe-ea .tribe-ea-hidden{display:none}.tribe-ea .tribe-ea-file-name{display:inline-block;font-style:italic;line-height:26px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.tribe-ea .tribe-ea-raw-list{line-height:1.25em;list-style:square;margin-top:0;margin-left:22px;margin-bottom:6px}.tribe-ea .tribe-ea-raw-list>li{margin-bottom:2px}.tribe-ea .tribe-ea-total{font-weight:600}.tribe-ea .tribe-ea-size-tiny{width:75px}.tribe-ea .tribe-ea-size-small{width:100px}.tribe-ea .tribe-ea-size-medium{width:150px}.tribe-ea .tribe-ea-size-large{width:200px}.tribe-ea .tribe-ea-size-xlarge{width:405px}.tribe-ea .has-credentials{padding:0}.tribe-ea .tribe-button-row{padding-left:0}.tribe-ea .tribe-ea-fileicon{padding:3px}.tribe-ea .tribe-ea-field-readonly{line-height:30px}.tribe-ea .tribe-ea-field-readonly+.tribe-ea-field{margin-left:10px}.tribe-ea .tribe-ea-field.tribe-field-inline-dropdown{margin-left:0}.tribe-ea .tribe-credential-row{border-top:15px solid #fff}.tribe-ea .enter-credentials{background-color:#f8eceb;padding:1rem}.tribe-ea .enter-credentials.credentials-entered{background-color:#ebf2eb}.tribe-ea .enter-credentials.credentials-entered .tribe-credentials-prompt,.tribe-ea .enter-credentials.credentials-entered .tribe-fieldset{display:none}.tribe-ea .enter-credentials.credentials-entered .tribe-credentials-success{display:block;margin-bottom:0}.tribe-ea .enter-credentials input{max-width:250px;width:75%}.tribe-ea .enter-credentials .dashicons{font-size:1.5rem;line-height:1.2rem;margin-right:.5rem}.tribe-ea .enter-credentials .dashicons-warning{color:#d54e21}.tribe-ea .enter-credentials .dashicons-yes{color:#41a341;font-size:2rem}.tribe-ea .enter-credentials #facebook_api_key{margin-right:1.5rem}.tribe-ea .enter-credentials .tribe-credentials-success{display:none}.tribe-ea .manage-column.column-frequency,.tribe-ea .manage-column.column-imported{width:15%}.tribe-ea .manage-column.column-total{width:15%;text-align:left}.tribe-ea .tribe-ea-tab-scheduled td.column-source{padding-left:10px}.tribe-ea .tribe-ea-tab-scheduled td.column-source :not(.row-actions) a:first-of-type{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline-block;max-width:100%;vertical-align:bottom}.tribe-ea td.column-source{padding-left:50px;position:relative}.tribe-ea td.column-total{text-align:left}.tribe-ea .dashicons.tribe-ea-status-failed{color:#dc3232}.tribe-ea .tribe-ea-report-status{position:absolute;width:45px;bottom:0;top:0;left:0;font-size:25px}.tribe-ea .tribe-ea-report-status>.dashicons{width:100%;padding-top:10px;font-size:inherit}.tribe-ea .tribe-ea-report-status .tribe-ea-status-success{color:#46b450}.tribe-ea .tribe-ea-report-status .tribe-ea-status-scheduled{color:#00a0d2}.tribe-ea .tribe-ea-report-status .tribe-ea-status-failed{color:#dc3232}.tribe-ea .tribe-ea-report-status .tribe-ea-status-pending{color:#ffb900;font-size:.8em}.tribe-ea .select2-container-multi .select2-choices .select2-search-field input{height:25px}.tribe-ea .select2-container{margin:0 1px 0 0}.tribe-ea input,.tribe-ea select{margin-left:0}.tribe-ea .tribe-refine{margin-bottom:.25rem}.tribe-ea .tribe-refine:last-child{margin-bottom:0}.tribe-ea .tribe-date-helper{color:gray}.tribe-ea .tribe-ea-inline-label{padding-top:7px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license{background:url(../images/aggregator/ea-upsell-bkg.svg) transparent no-repeat;background-size:cover;border:none;padding:60px 0;text-align:center}.tribe-ea .tribe-notice-tribe-missing-aggregator-license .upsell-banner{margin-bottom:30px;margin-left:auto;margin-right:auto}.tribe-ea .tribe-notice-tribe-missing-aggregator-license h3{color:#fff;font-size:22px;font-weight:400;letter-spacing:1.5px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license p{color:#fff;font-size:16px;font-weight:300;letter-spacing:1px;margin:0 auto 30px;width:50%}.tribe-ea .tribe-notice-tribe-missing-aggregator-license a:not(.tribe-button){color:#abd8e8}.tribe-ea .tribe-notice-tribe-missing-aggregator-license a:not(.tribe-button):active,.tribe-ea .tribe-notice-tribe-missing-aggregator-license a:not(.tribe-button):hover{color:#cbe1e8}.tribe-ea .tribe-banner.tribe-active.tribe-dependent{display:flex}.tribe-ea .tribe-banner{display:flex;align-items:center;justify-content:center;flex:1 1 auto}.tribe-ea .tribe-banner.tribe-banner-eventbrite-tickets{background-image:linear-gradient(135deg,#0178ba,#0178ba 25%,#01bdac 65%,#01bdac);background-size:cover;padding:0;text-align:center}.tribe-ea .tribe-banner.tribe-banner-eventbrite-tickets h3{color:#fff;font-size:26px;letter-spacing:1px;font-weight:400;padding:0 45px}.tribe-ea .tribe-banner.tribe-banner-eventbrite-tickets img{max-width:165px}.tribe-ea .tribe-button{border:1px solid;border-radius:3px;color:#fff;display:inline-block;font-size:13px;font-weight:300;letter-spacing:1.5px;padding:15px 30px;text-decoration:none;text-transform:uppercase}.tribe-ea .tribe-button-primary{background:#000;border-color:#000;margin-right:5px}.tribe-ea .tribe-button-secondary{background:transparent;border-color:#fff;margin-left:10px}.tribe-ea .dataTables_filter,.tribe-ea .dataTables_length{line-height:28px;margin-bottom:.5rem}.tribe-ea .dataTables_filter select,.tribe-ea .dataTables_length select{margin-top:-2px}.tribe-ea .tribe-view-filters.tribe-active+.tribe-filters{display:block}.tribe-ea dl.tribe-filters{display:none;margin-left:.5rem;margin-top:0}.tribe-ea dl.tribe-filters dt{clear:left;display:inline-block;font-weight:700;margin-right:.25rem}.tribe-ea dl.tribe-filters dd{display:inline;margin-left:0}.tribe-ea dl.tribe-filters dd:after{content:"";display:block;margin-bottom:.25rem}.tribe-ea .widefat td p{margin-bottom:.25em}.tribe-ea .tribe-ea-login-button{margin-left:2rem;margin-top:1rem}.tribe-ea-table-container{background-color:#fafafa;border:1px solid #e7e7e7;min-height:25px;padding:.5rem}.tribe-preview-container{display:none;padding-left:1rem;padding-right:1rem;margin-top:.5rem}.edit-form .tribe-preview-container,.show-data .tribe-preview-container,.tribe-preview-container.tribe-fetch-error,.tribe-preview-container.tribe-fetched,.tribe-preview-container.tribe-fetching{display:block}.tribe-preview-container.tribe-fetching .spinner-container{display:block;text-align:center}.tribe-preview-container.tribe-fetch-error .tribe-fetch-error-message{display:block}.tribe-preview-container .data-container{display:none}.tribe-preview-container .data-container.csv-data #tribe-csv-preview-message{display:block}.tribe-preview-container .data-container.csv-data #tribe-remote-preview-message{display:none}.tribe-preview-container .data-container #tribe-remote-preview-message{display:block}.tribe-preview-container>td{padding-left:0;padding-right:0}.tribe-preview-container .tribe-column-end-date,.tribe-preview-container .tribe-column-start-date,.tribe-preview-container .tribe-column-start-time{width:8em}.tribe-preview-container .spinner-container,.tribe-preview-container .tribe-fetch-error-message{display:none}.tribe-preview-container .spinner{float:none;margin-left:auto;margin-right:auto;visibility:visible}.tribe-preview-container .spinner-message{display:block;margin-top:.25rem}.tribe-preview-container .dataTable{float:left}.tribe-preview-container .dataTable .check-column input,.tribe-preview-container .dataTable .column-cb input{display:none}.tribe-preview-container .dataTable tfoot th,.tribe-preview-container .dataTable thead th{padding-right:20px;white-space:nowrap}.tribe-preview-container .dataTable thead tr+tr th{background:#f3f3f3;border-bottom:0;font-weight:700}.tribe-preview-container .tribe-td-height-limit{max-height:50px;overflow:hidden}.tribe-preview-container .display-checkboxes .check-column input,.tribe-preview-container .display-checkboxes .column-cb input{display:inline-block}.tribe-preview-container .tribe-preview-message{display:none;font-weight:700;line-height:26px}.tribe-preview-container #tribe-ea-field-post_status+label{margin-left:1rem}.tribe-default-settings{display:none;overflow:hidden;padding-bottom:1rem;padding-top:1rem}.tribe-default-settings label{display:inline-block;line-height:26px}.edit-form .tribe-default-settings,.edit-form .tribe-finalize-container,.show-data .data-container,.show-data .tribe-default-settings,.show-data .tribe-finalize-container{display:block}.edit-form .tribe-cancel{display:inline-block}.tribe-ea-form .tribe-bumpdown-manual,.tribe-ea-form .tribe-bumpdown-scheduled,.tribe-ea-form[data-origin=csv] .dataTables_filter,.tribe-ea-form[data-origin=csv] .dataTables_info,.tribe-ea-form[data-origin=csv] .dataTables_length,.tribe-ea-form[data-origin=csv] .dataTables_paginate{display:none}.tribe-ea-form[data-type=manual] .tribe-bumpdown-manual,.tribe-ea-form[data-type=schedule] .tribe-bumpdown-scheduled{display:inline-block}.tribe-cancel{display:none}.tribe-finalize-container{display:none;padding-top:1.5rem}.tribe-finalize-container .tribe-timezone-message{font-style:italic;padding-top:.5rem}.tribe-finalize-container .tribe-limits-message{font-style:italic;padding:0;margin:1em 0 -1.5em}.tribe-message-loader{display:none}.tribe-notice-aggregator-update-msg .progress{border:1px solid #ccc;float:left;margin-right:1rem;padding:1px;width:18rem}.tribe-notice-aggregator-update-msg .progress .bar{background:#ffba00;height:1rem;width:1%}.tribe-notice-aggregator-update-msg.completed{border-left-color:#46b450}.tribe-notice-aggregator-update-msg.completed .progress .bar{background:#7ad03a}.tribe-notice-aggregator-update-msg .tracker{margin:0;padding:0}.tribe-notice-aggregator-update-msg .tracker .tracked-item{display:none;margin:.25rem 0}.tribe-notice-aggregator-update-msg .tracker.has-created,.tribe-notice-aggregator-update-msg .tracker.has-skipped,.tribe-notice-aggregator-update-msg .tracker.has-updated{padding-bottom:.25rem}.tribe-notice-aggregator-update-msg .tracker.has-created .track-created,.tribe-notice-aggregator-update-msg .tracker.has-created .track-remaining,.tribe-notice-aggregator-update-msg .tracker.has-skipped .track-remaining,.tribe-notice-aggregator-update-msg .tracker.has-skipped .track-skipped,.tribe-notice-aggregator-update-msg .tracker.has-updated .track-remaining,.tribe-notice-aggregator-update-msg .tracker.has-updated .track-updated{display:block}.tribe-ea-tab-edit .tribe-bumpdown-trigger.tribe-ea-help{display:none}.select2-disabled{margin-bottom:0;color:gray;cursor:default}.tribe-dropdown-subtitle{font-size:11px;color:gray}.select2-highlighted .tribe-dropdown-subtitle{color:#fff}.tribe-aggregator-inactive .tribe-ea-tab-scheduled .widefat p,.tribe-aggregator-inactive .tribe-ea-tab-scheduled .widefat td,.tribe-aggregator-inactive .tribe-ea-tab-scheduled .widefat ul{color:#ccc}.tribe-ea-field-wrapper-post_status{min-width:275px}.tribe-ea-field-wrapper-post_status.tribe-active{float:left}@media screen and (max-width:782px){.tribe-ea .form-table td{padding-right:0}.tribe-ea .form-table td input[type=text]{width:92%;display:inline-block}.tribe-ea td.tribe-dependent.tribe-active{display:block}.tribe-ea input+.tribe-ea-help{line-height:30px}}
1
+ .tribe-ea .tribe-ea-tab{padding:20px;margin-top:20px;border:1px solid #ccc;background-color:#fff}.tribe-ea .tribe-ea-tab .form-table th[scope=row]{width:140px}.tribe-ea .tribe-ea-tab .form-table tr{position:relative}.tribe-ea .tribe-ea-tab .form-table .eb-url-row th[scope=row]{padding:0}.tribe-ea .tribe-ea-tab .form-table .eb-url-row td{padding:0 10px}.tribe-ea .tribe-ea-tab .subsubsub li{font-weight:700}.tribe-ea .tribe-ea-tab .subsubsub .count,.tribe-ea .tribe-ea-tab .subsubsub a{font-weight:400}.tribe-ea .tribe-ea-help{padding:4px;color:#0073aa;cursor:pointer}.tribe-ea .tribe-ea-hidden{display:none}.tribe-ea .tribe-ea-file-name{display:inline-block;font-style:italic;line-height:26px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.tribe-ea .tribe-ea-raw-list{line-height:1.25em;list-style:square;margin-top:0;margin-left:22px;margin-bottom:6px}.tribe-ea .tribe-ea-raw-list>li{margin-bottom:2px}.tribe-ea .tribe-ea-total{font-weight:600}.tribe-ea .tribe-ea-size-tiny{width:75px}.tribe-ea .tribe-ea-size-small{width:100px}.tribe-ea .tribe-ea-size-medium{width:150px}.tribe-ea .tribe-ea-size-large{width:200px}.tribe-ea .tribe-ea-size-xlarge{width:405px}.tribe-ea .has-credentials{padding:0}.tribe-ea .tribe-button-row{padding-left:0}.tribe-ea .tribe-ea-fileicon{padding:3px}.tribe-ea .tribe-ea-field-readonly{line-height:30px}.tribe-ea .tribe-ea-field-readonly+.tribe-ea-field{margin-left:10px}.tribe-ea .tribe-ea-field.tribe-field-inline-dropdown{margin-left:0}.tribe-ea .tribe-credential-row{border-top:15px solid #fff}.tribe-ea .enter-credentials{background-color:#f8eceb;padding:1rem}.tribe-ea .enter-credentials.credentials-entered{background-color:#ebf2eb}.tribe-ea .enter-credentials.credentials-entered .tribe-credentials-prompt,.tribe-ea .enter-credentials.credentials-entered .tribe-fieldset{display:none}.tribe-ea .enter-credentials.credentials-entered .tribe-credentials-success{display:block;margin-bottom:0}.tribe-ea .enter-credentials input{max-width:250px;width:75%}.tribe-ea .enter-credentials .dashicons{font-size:1.5rem;line-height:1.2rem;margin-right:.5rem}.tribe-ea .enter-credentials .dashicons-warning{color:#d54e21}.tribe-ea .enter-credentials .dashicons-yes{color:#41a341;font-size:2rem}.tribe-ea .enter-credentials #facebook_api_key{margin-right:1.5rem}.tribe-ea .enter-credentials .tribe-credentials-success{display:none}.tribe-ea .manage-column.column-frequency,.tribe-ea .manage-column.column-imported{width:15%}.tribe-ea .manage-column.column-total{width:15%;text-align:left}.tribe-ea .tribe-ea-tab-scheduled td.column-source{padding-left:10px}.tribe-ea .tribe-ea-tab-scheduled td.column-source :not(.row-actions) a:first-of-type{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline-block;max-width:100%;vertical-align:bottom}.tribe-ea td.column-source{padding-left:50px;position:relative}.tribe-ea td.column-total{text-align:left}.tribe-ea .dashicons.tribe-ea-status-failed{color:#dc3232}.tribe-ea .tribe-ea-report-status{position:absolute;width:45px;bottom:0;top:0;left:0;font-size:25px}.tribe-ea .tribe-ea-report-status>.dashicons{width:100%;padding-top:10px;font-size:inherit}.tribe-ea .tribe-ea-report-status .tribe-ea-status-success{color:#46b450}.tribe-ea .tribe-ea-report-status .tribe-ea-status-scheduled{color:#00a0d2}.tribe-ea .tribe-ea-report-status .tribe-ea-status-failed{color:#dc3232}.tribe-ea .tribe-ea-report-status .tribe-ea-status-pending{color:#ffb900;font-size:.8em}.tribe-ea .select2-container-multi .select2-choices .select2-search-field input{height:25px}.tribe-ea .select2-container{margin:0 1px 0 0}.tribe-ea input,.tribe-ea select{margin-left:0}.tribe-ea .tribe-refine{margin-bottom:.25rem}.tribe-ea .tribe-refine:last-child{margin-bottom:0}.tribe-ea .tribe-date-helper{color:gray}.tribe-ea .tribe-ea-inline-label{padding-top:7px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license{background-color:#f9f7f4;border-radius:16px;border:1px solid #f9f7f4;display:flex;justify-content:space-between;padding:60px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license .tribe-notice-tribe-missing-aggregator-license__image{background-image:url(../images/aggregator/ea-intro-img-text.png);background-position:100%;background-repeat:no-repeat;background-size:contain;display:none;margin-left:30px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license .upsell-banner{background:url(../images/aggregator/EventAggregator-icon.svg) transparent no-repeat;background-position:0;background-size:contain;font-family:apercu-mono-bold,monospace;height:43px;line-height:43px;margin:0 auto 30px;padding-left:60px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license h3{color:#141827;font-size:40px;font-weight:700;letter-spacing:1.5px;line-height:1.2;margin:28px 0 0}.tribe-ea .tribe-notice-tribe-missing-aggregator-license p{color:#141827;font-size:16px;font-weight:300;letter-spacing:2px;margin:15px 0 30px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license a:not(.tribe-button){color:#abd8e8}.tribe-ea .tribe-notice-tribe-missing-aggregator-license a:not(.tribe-button):active,.tribe-ea .tribe-notice-tribe-missing-aggregator-license a:not(.tribe-button):hover{color:#cbe1e8}.tribe-ea .tribe-banner.tribe-active.tribe-dependent,.tribe-ea .tribe-notice-tribe-missing-aggregator-license.tribe-dependent.tribe-active{display:flex}.tribe-ea .tribe-banner{display:flex;align-items:center;justify-content:center;flex:1 1 auto}.tribe-ea .tribe-banner.tribe-banner-eventbrite-tickets{background-image:linear-gradient(135deg,#0178ba,#0178ba 25%,#01bdac 65%,#01bdac);background-size:cover;padding:0;text-align:center}.tribe-ea .tribe-banner.tribe-banner-eventbrite-tickets h3{color:#fff;font-size:26px;letter-spacing:1px;font-weight:400;padding:0 45px}.tribe-ea .tribe-banner.tribe-banner-eventbrite-tickets img{max-width:165px}.tribe-ea .tribe-button{border:1px solid;border-radius:3px;color:#fff;display:inline-block;font-size:13px;font-weight:300;letter-spacing:1.5px;padding:15px 30px;text-decoration:none;text-transform:uppercase}.tribe-ea .tribe-button-primary{background:#000;border-color:#000;margin-right:5px}.tribe-ea .tribe-button-secondary{background:#334aff;border-color:#334aff;border-radius:40px;font-size:16px;font-weight:700;margin-left:0;margin-top:6px;padding:20px 50px;text-transform:none}.tribe-ea .dataTables_filter,.tribe-ea .dataTables_length{line-height:28px;margin-bottom:.5rem}.tribe-ea .dataTables_filter select,.tribe-ea .dataTables_length select{margin-top:-2px}.tribe-ea .tribe-view-filters.tribe-active+.tribe-filters{display:block}.tribe-ea dl.tribe-filters{display:none;margin-left:.5rem;margin-top:0}.tribe-ea dl.tribe-filters dt{clear:left;display:inline-block;font-weight:700;margin-right:.25rem}.tribe-ea dl.tribe-filters dd{display:inline;margin-left:0}.tribe-ea dl.tribe-filters dd:after{content:"";display:block;margin-bottom:.25rem}.tribe-ea .widefat td p{margin-bottom:.25em}.tribe-ea .tribe-ea-login-button{margin-left:2rem;margin-top:1rem}.tribe-ea-table-container{background-color:#fafafa;border:1px solid #e7e7e7;min-height:25px;padding:.5rem}.tribe-preview-container{display:none;padding-left:1rem;padding-right:1rem;margin-top:.5rem}.edit-form .tribe-preview-container,.show-data .tribe-preview-container,.tribe-preview-container.tribe-fetch-error,.tribe-preview-container.tribe-fetched,.tribe-preview-container.tribe-fetching{display:block}.tribe-preview-container.tribe-fetching .spinner-container{display:block;text-align:center}.tribe-preview-container.tribe-fetch-error .tribe-fetch-error-message{display:block}.tribe-preview-container .data-container{display:none}.tribe-preview-container .data-container.csv-data #tribe-csv-preview-message{display:block}.tribe-preview-container .data-container.csv-data #tribe-remote-preview-message{display:none}.tribe-preview-container .data-container #tribe-remote-preview-message{display:block}.tribe-preview-container>td{padding-left:0;padding-right:0}.tribe-preview-container .tribe-column-end-date,.tribe-preview-container .tribe-column-start-date,.tribe-preview-container .tribe-column-start-time{width:8em}.tribe-preview-container .spinner-container,.tribe-preview-container .tribe-fetch-error-message{display:none}.tribe-preview-container .spinner{float:none;margin-left:auto;margin-right:auto;visibility:visible}.tribe-preview-container .spinner-message{display:block;margin-top:.25rem}.tribe-preview-container .dataTable{float:left}.tribe-preview-container .dataTable .check-column input,.tribe-preview-container .dataTable .column-cb input{display:none}.tribe-preview-container .dataTable tfoot th,.tribe-preview-container .dataTable thead th{padding-right:20px;white-space:nowrap}.tribe-preview-container .dataTable thead tr+tr th{background:#f3f3f3;border-bottom:0;font-weight:700}.tribe-preview-container .tribe-td-height-limit{max-height:50px;overflow:hidden}.tribe-preview-container .display-checkboxes .check-column input,.tribe-preview-container .display-checkboxes .column-cb input{display:inline-block}.tribe-preview-container .tribe-preview-message{display:none;font-weight:700;line-height:26px}.tribe-preview-container #tribe-ea-field-post_status+label{margin-left:1rem}.tribe-default-settings{display:none;overflow:hidden;padding-bottom:1rem;padding-top:1rem}.tribe-default-settings label{display:inline-block;line-height:26px}.edit-form .tribe-default-settings,.edit-form .tribe-finalize-container,.show-data .data-container,.show-data .tribe-default-settings,.show-data .tribe-finalize-container{display:block}.edit-form .tribe-cancel{display:inline-block}.tribe-ea-form .tribe-bumpdown-manual,.tribe-ea-form .tribe-bumpdown-scheduled,.tribe-ea-form[data-origin=csv] .dataTables_filter,.tribe-ea-form[data-origin=csv] .dataTables_info,.tribe-ea-form[data-origin=csv] .dataTables_length,.tribe-ea-form[data-origin=csv] .dataTables_paginate{display:none}.tribe-ea-form[data-type=manual] .tribe-bumpdown-manual,.tribe-ea-form[data-type=schedule] .tribe-bumpdown-scheduled{display:inline-block}.tribe-cancel{display:none}.tribe-finalize-container{display:none;padding-top:1.5rem}.tribe-finalize-container .tribe-timezone-message{font-style:italic;padding-top:.5rem}.tribe-finalize-container .tribe-limits-message{font-style:italic;padding:0;margin:1em 0 -1.5em}.tribe-message-loader{display:none}.tribe-notice-aggregator-update-msg .progress{border:1px solid #ccc;float:left;margin-right:1rem;padding:1px;width:18rem}.tribe-notice-aggregator-update-msg .progress .bar{background:#ffba00;height:1rem;width:1%}.tribe-notice-aggregator-update-msg.completed{border-left-color:#46b450}.tribe-notice-aggregator-update-msg.completed .progress .bar{background:#7ad03a}.tribe-notice-aggregator-update-msg .tracker{margin:0;padding:0}.tribe-notice-aggregator-update-msg .tracker .tracked-item{display:none;margin:.25rem 0}.tribe-notice-aggregator-update-msg .tracker.has-created,.tribe-notice-aggregator-update-msg .tracker.has-skipped,.tribe-notice-aggregator-update-msg .tracker.has-updated{padding-bottom:.25rem}.tribe-notice-aggregator-update-msg .tracker.has-created .track-created,.tribe-notice-aggregator-update-msg .tracker.has-created .track-remaining,.tribe-notice-aggregator-update-msg .tracker.has-skipped .track-remaining,.tribe-notice-aggregator-update-msg .tracker.has-skipped .track-skipped,.tribe-notice-aggregator-update-msg .tracker.has-updated .track-remaining,.tribe-notice-aggregator-update-msg .tracker.has-updated .track-updated{display:block}.tribe-ea-tab-edit .tribe-bumpdown-trigger.tribe-ea-help{display:none}.select2-disabled{margin-bottom:0;color:gray;cursor:default}.tribe-dropdown-subtitle{font-size:11px;color:gray}.select2-highlighted .tribe-dropdown-subtitle{color:#fff}.tribe-aggregator-inactive .tribe-ea-tab-scheduled .widefat p,.tribe-aggregator-inactive .tribe-ea-tab-scheduled .widefat td,.tribe-aggregator-inactive .tribe-ea-tab-scheduled .widefat ul{color:#ccc}.tribe-ea-field-wrapper-post_status{min-width:275px}.tribe-ea-field-wrapper-post_status.tribe-active{float:left}@media screen and (min-width:1260px){.tribe-ea .tribe-notice-tribe-missing-aggregator-license .tribe-notice-tribe-missing-aggregator-license__content{width:50%}.tribe-ea .tribe-notice-tribe-missing-aggregator-license .tribe-notice-tribe-missing-aggregator-license__image{display:block;flex:auto}.tribe-ea .tribe-notice-tribe-missing-aggregator-license h3{font-size:68px;max-width:510px}.tribe-ea .tribe-notice-tribe-missing-aggregator-license p{font-size:22px;max-width:730px}.tribe-ea .tribe-button-secondary{font-size:20px;padding:26px 63px}}@media screen and (max-width:782px){.tribe-ea .form-table td{padding-right:0}.tribe-ea .form-table td input[type=text]{width:92%;display:inline-block}.tribe-ea td.tribe-dependent.tribe-active{display:block}.tribe-ea input+.tribe-ea-help{line-height:30px}}
src/resources/css/tribe-events-single-full.min.css CHANGED
@@ -1 +1 @@
1
- .tribe-events-single{-webkit-font-smoothing:antialiased}.tribe-events-after-html p,.tribe-events-before-html p{line-height:1.7}.tribe-events-back a,.tribe-events-back a:visited{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:16px;font-weight:700;text-decoration:none}.tribe-events-notices{box-shadow:none;border-bottom:1px solid #e4e4e4}.tribe-events-notices ul{list-style:none;text-align:left;text-transform:none}.tribe-events-single-event-title{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:24px;line-height:1.42}.tribe-events-schedule{background-color:transparent;border:0}.tribe-events-schedule h2{font-weight:700;font-size:16px;line-height:1.5;font-weight:400}.tribe-events-schedule .recurringinfo,.tribe-events-schedule h2,.tribe-related-event-info .recurringinfo{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-schedule .recurringinfo,.tribe-related-event-info .recurringinfo{font-weight:700;font-size:12px;line-height:1.38;background-color:#f7f6f6;border-radius:40px}.tribe-events-schedule .recurringinfo .event-is-recurring,.tribe-related-event-info .recurringinfo .event-is-recurring{letter-spacing:-9999px}.tribe-events-schedule .recurringinfo a,.tribe-related-event-info .recurringinfo a{color:#334aff;font-weight:400;letter-spacing:normal;line-height:20px;text-decoration:none}.tribe-events-schedule .recurringinfo{font-size:12px;line-height:1.38;background-color:#f7f6f6;border-radius:40px}.tribe-events-schedule .recurringinfo,.tribe-events-schedule .tribe-events-cost{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-events-schedule .tribe-events-cost{font-size:16px;line-height:1.5;text-transform:uppercase}.tribe-events-content{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-content h2,.tribe-events-content h3,.tribe-events-content h4,.tribe-events-content h5,.tribe-events-content h6{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;letter-spacing:normal;text-transform:none}.tribe-events-content ol,.tribe-events-content p,.tribe-events-content ul{font-size:16px;line-height:1.62}.tribe-events-content ol,.tribe-events-content ul{list-style-position:inside}.tribe-events-content ul{list-style-type:disc}.tribe-events-content a{border-bottom:1px solid #334aff;color:#141827;transition:color .2s ease}.tribe-events-content a:active,.tribe-events-content a:focus,.tribe-events-content a:hover{border-bottom:1px solid #334aff;color:#334aff}.tribe-events-content a{text-decoration:none}.tribe-events-content pre{background-color:var(--color-background-secondary-transparent);font-size:16px;line-height:1.62}.tribe-events-content blockquote{quotes:auto}.tribe-events-content blockquote:before{content:open-quote}.tribe-events-content blockquote:after{content:close-quote}.tribe-events-cal-links{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-cal-links .tribe-events-gcal,.tribe-events-cal-links .tribe-events-ical{background:svg-inline(cal-export) 0/24px no-repeat;color:#334aff;font-size:14px;font-weight:400;line-height:1.62;text-decoration:none}.tribe-events-event-meta{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px}.tribe-events-event-meta a,.tribe-events-event-meta a:visited{color:#334aff}.tribe-events-event-meta a:focus,.tribe-events-event-meta a:hover{color:rgba(51,74,255,.8)}.tribe-events-event-meta dd,.tribe-events-event-meta dt{word-break:break-word}.tribe-events-event-meta dt{line-height:1.62}.tribe-events-event-meta .tribe-events-address{font-style:normal;line-height:26px}.tribe-events-event-meta:before,.tribe-events-event-meta~div:not(.tribe-events-event-meta):not(.event-tickets){border-top:1px solid #e4e4e4}.single-tribe_events .tribe-events-single .tribe-events-event-meta{background-color:transparent;color:#141827}.tribe-events-meta-group .tribe-events-single-section-title{color:#141827;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.tribe-events-meta-group.tribe-events-meta-group-gmap{border-top:1px solid #e4e4e4}.tribe-events-venue-map{border:0;border-radius:0}.tribe-events-related-events-title{font-weight:700;font-size:22px;line-height:1.5;border-top:1px solid #e4e4e4}.tribe-events-related-events-title,.tribe-events-single ul.tribe-related-events li,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-single ul.tribe-related-events li .tribe-related-events-title{font-weight:700;font-size:14px;line-height:1.62}.tribe-events-single ul.tribe-related-events li .tribe-related-events-title a{color:#334aff}#tribe-events-footer{border-top:1px solid #e4e4e4}.tribe-events-single .tribe-events-sub-nav{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;list-style:none}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a{color:#5d5d5d;text-decoration:none;vertical-align:middle}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:before,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:before{content:"";display:inline-block;height:20px;vertical-align:middle;width:11px}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:focus,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:hover,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:focus,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:hover{color:#141827}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%235d5d5d'/%3E%3C/svg%3E") 0/7px no-repeat}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:focus:before,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%235d5d5d'/%3E%3C/svg%3E") 100%/7px no-repeat}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:focus:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:hover:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-theme-twentynineteen .tribe-events-content h2:before,.tribe-theme-twentynineteen .tribe-events-related-events-title:before,.tribe-theme-twentynineteen .tribe-events-schedule h2:before,.tribe-theme-twentynineteen .tribe-events-single-event-title:before,.tribe-theme-twentynineteen .tribe-events-single-section-title:before{content:normal}.tribe-theme-twentytwentyone .tribe-events-cal-links a:focus:not(.wp-block-button__link):not(.wp-block-file__button){background:svg-inline(cal-export) 0/24px no-repeat}.tribe-theme-twentytwentyone .tribe-events-schedule .recurringinfo a:focus:not(.wp-block-button__link):not(.wp-block-file__button),.tribe-theme-twentytwentyone .tribe-related-event-info .recurringinfo a:focus:not(.wp-block-button__link):not(.wp-block-file__button){background:transparent;text-decoration:none}#top.tribe-theme-enfold.single-tribe_events .tribe-events-single-event-title{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:24px;line-height:1.42}#top.tribe-theme-enfold.single-tribe_events .tribe-events-schedule h3{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:16px;line-height:1.5;font-weight:400}#top.tribe-theme-enfold.single-tribe_events .tribe-events-content pre{background-image:none}#top.tribe-theme-enfold.single-tribe_events #wrap_all .tribe-events-cal-links a,#top.tribe-theme-enfold.single-tribe_events .av-single-event-meta-bar-inner{border:0}@media (min-width:768px){.tribe-events-single-event-title{font-size:42px;line-height:1.38}.tribe-events-schedule h2{font-size:16px;line-height:1.62}.tribe-events-schedule .recurringinfo{font-size:14px;line-height:1.62}.tribe-events-schedule .recurringinfo .event-is-recurring{letter-spacing:normal}.tribe-events-schedule .tribe-events-cost{font-size:16px;line-height:1.62}.tribe-events-content ol,.tribe-events-content p,.tribe-events-content ul{font-size:18px;line-height:1.5}.tribe-events-event-meta.secondary:before{content:normal}.tribe-events-related-events-title{font-size:28px;line-height:1.42}.tribe-events-single .tribe-events-sub-nav{font-size:16px}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:before{background-size:9px}#top.tribe-theme-enfold.single-tribe_events .tribe-events-single-event-title{font-size:42px;line-height:1.38}#top.tribe-theme-enfold.single-tribe_events .tribe-events-schedule h3{font-size:16px;line-height:1.62}}
1
+ .tribe-events-single{-webkit-font-smoothing:antialiased}.tribe-events-after-html p,.tribe-events-before-html p{line-height:1.7}.tribe-events-back a,.tribe-events-back a:visited{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:16px;font-weight:700;text-decoration:none}.tribe-events-notices{box-shadow:none;border-bottom:1px solid #e4e4e4}.tribe-events-notices ul{list-style:none;text-align:left;text-transform:none}.tribe-events-single-event-title{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:24px;line-height:1.42}.tribe-events-schedule{background-color:transparent;border:0}.tribe-events-schedule h2{font-weight:700;font-size:16px;line-height:1.5;font-weight:400}.tribe-events-schedule .recurringinfo,.tribe-events-schedule h2,.tribe-related-event-info .recurringinfo{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-schedule .recurringinfo,.tribe-related-event-info .recurringinfo{font-weight:700;font-size:12px;line-height:1.38;background-color:#f7f6f6;border-radius:40px}.tribe-events-schedule .recurringinfo .event-is-recurring,.tribe-related-event-info .recurringinfo .event-is-recurring{letter-spacing:-9999px}.tribe-events-schedule .recurringinfo a,.tribe-related-event-info .recurringinfo a{color:#334aff;font-weight:400;letter-spacing:normal;line-height:20px;text-decoration:none}.tribe-events-schedule .recurringinfo{font-size:12px;line-height:1.38;background-color:#f7f6f6;border-radius:40px}.tribe-events-schedule .recurringinfo,.tribe-events-schedule .tribe-events-cost{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700}.tribe-events-schedule .tribe-events-cost{font-size:16px;line-height:1.5;text-transform:uppercase}.tribe-events-content{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-content h2,.tribe-events-content h3,.tribe-events-content h4,.tribe-events-content h5,.tribe-events-content h6{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;letter-spacing:normal;text-transform:none}.tribe-events-content ol,.tribe-events-content p,.tribe-events-content ul{font-size:16px;line-height:1.62}.tribe-events-content ol,.tribe-events-content ul{list-style-position:inside}.tribe-events-content ul{list-style-type:disc}.tribe-events-content a{border-bottom:1px solid #334aff;color:#141827;transition:color .2s ease}.tribe-events-content a:active,.tribe-events-content a:focus,.tribe-events-content a:hover{border-bottom:1px solid #334aff;color:#334aff}.tribe-events-content a{text-decoration:none}.tribe-events-content pre{background-color:var(--color-background-secondary-transparent);font-size:16px;line-height:1.62}.tribe-events-content blockquote{quotes:auto}.tribe-events-content blockquote:before{content:open-quote}.tribe-events-content blockquote:after{content:close-quote}.tribe-events-cal-links{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-cal-links .tribe-events-gcal,.tribe-events-cal-links .tribe-events-ical{background:svg-inline(cal-export) 0/24px no-repeat;color:#334aff;font-size:14px;font-weight:400;line-height:1.62;text-decoration:none}.tribe-events-event-meta{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px}.tribe-events-event-meta a,.tribe-events-event-meta a:visited{color:#334aff}.tribe-events-event-meta a:focus,.tribe-events-event-meta a:hover{color:rgba(51,74,255,.8)}.tribe-events-event-meta dd,.tribe-events-event-meta dt{word-break:break-word}.tribe-events-event-meta dt{line-height:1.62}.tribe-events-event-meta .tribe-events-address{font-style:normal;line-height:26px}.tribe-events-event-meta:before,.tribe-events-event-meta~div:not(.tribe-events-event-meta):not(.event-tickets){border-top:1px solid #e4e4e4}.single-tribe_events .tribe-events-single .tribe-events-event-meta{background-color:transparent;color:#141827}.tribe-events-meta-group .tribe-events-single-section-title{color:#141827;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.tribe-events-meta-group.tribe-events-meta-group-gmap{border-top:1px solid #e4e4e4}.tribe-events-venue-map{border:0;border-radius:0}.tribe-events-related-events-title{font-weight:700;font-size:22px;line-height:1.5;border-top:1px solid #e4e4e4}.tribe-events-related-events-title,.tribe-events-single ul.tribe-related-events li,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif}.tribe-events-single ul.tribe-related-events li .tribe-related-events-title{font-weight:700;font-size:14px;line-height:1.62}.tribe-events-single ul.tribe-related-events li .tribe-related-events-title a{color:#334aff}#tribe-events-footer{border-top:1px solid #e4e4e4}.tribe-events-single .tribe-events-sub-nav{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:12px;list-style:none}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a{color:#5d5d5d;text-decoration:none;vertical-align:middle}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:before,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:before{content:"";display:inline-block;height:20px;vertical-align:middle;width:11px}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:focus,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:hover,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:focus,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:hover{color:#141827}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%235d5d5d'/%3E%3C/svg%3E") 0/7px no-repeat}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:focus:before,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:hover:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%235d5d5d'/%3E%3C/svg%3E") 100%/7px no-repeat}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:focus:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:hover:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%23141827'/%3E%3C/svg%3E")}.tribe-theme-twentynineteen .tribe-events-content h2:before,.tribe-theme-twentynineteen .tribe-events-related-events-title:before,.tribe-theme-twentynineteen .tribe-events-schedule h2:before,.tribe-theme-twentynineteen .tribe-events-single-event-title:before,.tribe-theme-twentynineteen .tribe-events-single-section-title:before{content:normal}.tribe-theme-twentytwentyone .tribe-events-cal-links a:focus:not(.wp-block-button__link):not(.wp-block-file__button){background:svg-inline(cal-export) 0/24px no-repeat}.tribe-theme-twentytwentyone .tribe-events-schedule .recurringinfo a:focus:not(.wp-block-button__link):not(.wp-block-file__button),.tribe-theme-twentytwentyone .tribe-related-event-info .recurringinfo a:focus:not(.wp-block-button__link):not(.wp-block-file__button){background:transparent;text-decoration:none}#top.tribe-theme-enfold.single-tribe_events .tribe-events-single-event-title{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:24px;line-height:1.42}#top.tribe-theme-enfold.single-tribe_events .tribe-events-schedule h3{color:#141827;font-family:Helvetica Neue,Helvetica,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-weight:700;font-size:16px;line-height:1.5;font-weight:400}#top.tribe-theme-enfold.single-tribe_events .tribe-events-content pre{background-image:none}#top.tribe-theme-enfold.single-tribe_events #wrap_all .tribe-events-cal-links a,#top.tribe-theme-enfold.single-tribe_events .av-single-event-meta-bar-inner{border:0}.fusion-widget-area .tribe-events-event-meta:before,.fusion-widget-area .tribe-events-event-meta~div:not(.tribe-events-event-meta):not(.event-tickets){border:none}@media (min-width:768px){.tribe-events-single-event-title{font-size:42px;line-height:1.38}.tribe-events-schedule h2{font-size:16px;line-height:1.62}.tribe-events-schedule .recurringinfo{font-size:14px;line-height:1.62}.tribe-events-schedule .recurringinfo .event-is-recurring{letter-spacing:normal}.tribe-events-schedule .tribe-events-cost{font-size:16px;line-height:1.62}.tribe-events-content ol,.tribe-events-content p,.tribe-events-content ul{font-size:18px;line-height:1.5}.tribe-events-event-meta.secondary:before{content:normal}.tribe-events-related-events-title{font-size:28px;line-height:1.42}.tribe-events-single .tribe-events-sub-nav{font-size:16px}.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:after,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:before{background-size:9px}#top.tribe-theme-enfold.single-tribe_events .tribe-events-single-event-title{font-size:42px;line-height:1.38}#top.tribe-theme-enfold.single-tribe_events .tribe-events-schedule h3{font-size:16px;line-height:1.62}}
src/resources/images/aggregator/EventAggregator-icon.svg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <svg width="80" height="86" viewBox="0 0 80 86" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="EventAggregator-icon">
3
+ <path id="Fill" fill-rule="evenodd" clip-rule="evenodd" d="M53.2931 42.2056C53.2931 50.6446 46.4514 57.4874 38.0113 57.4874C29.5712 57.4874 22.7295 50.6446 22.7295 42.2056C22.7295 33.7655 29.5712 26.9238 38.0113 26.9238C46.4514 26.9238 53.2931 33.7655 53.2931 42.2056Z" fill="#334AFF"/>
4
+ <path id="Shape" fill-rule="evenodd" clip-rule="evenodd" d="M32.3763 11.2623C35.1902 9.83914 36.4203 6.44424 35.1241 3.53188C33.7873 0.529764 30.2696 -0.820825 27.2662 0.515876C24.2641 1.85268 22.9135 5.37042 24.2504 8.37405C25.1893 10.4812 27.2013 11.7745 29.3559 11.8963L32.3022 22.4749L32.3543 22.6295C32.6335 23.3293 33.4011 23.7207 34.1434 23.5139C34.882 23.3082 35.3358 22.5827 35.2195 21.8433L35.1824 21.6727L32.2936 11.3019L32.3763 11.2623ZM79.3338 17.4223C80.63 20.3347 79.3998 23.7296 76.5859 25.1527L76.3175 25.2803C73.9789 26.3211 71.329 25.7328 69.6391 24.0037L69.5015 24.0959L56.4308 31.797L56.286 31.8722C55.5994 32.1825 54.7751 31.9318 54.3839 31.2679C53.9927 30.604 54.173 29.7614 54.7771 29.3113L54.913 29.221L67.9837 21.5198L68.1613 21.4303C67.383 18.6379 68.7473 15.6213 71.4759 14.4063C74.4792 13.0696 77.997 14.4202 79.3338 17.4223ZM38.0115 25.4285C47.2772 25.4285 54.7882 32.9395 54.7882 42.2052C54.7882 51.4702 47.2768 58.982 38.0115 58.982C28.7461 58.982 21.2347 51.4702 21.2347 42.2052C21.2347 32.9395 28.7457 25.4285 38.0115 25.4285ZM55.9487 53.8145L56.0981 53.8977L56.2399 53.9995L60.9248 57.7912C61.2785 57.5248 61.6675 57.2941 62.0891 57.1063C65.0925 55.7696 68.6102 57.1202 69.947 60.1223C71.2837 63.1257 69.9337 66.6422 66.9307 67.9803C63.9276 69.3169 60.4111 67.9669 59.0733 64.9645C58.3615 63.3652 58.4116 61.6201 59.0672 60.1361L54.3586 56.3234L54.2375 56.2141C53.7064 55.6797 53.6525 54.8197 54.1373 54.2208C54.5826 53.6708 55.3379 53.5194 55.9487 53.8145ZM33.7287 62.5353C33.92 61.8066 33.5352 61.0356 32.8153 60.7608C32.0954 60.486 31.2947 60.8045 30.9518 61.4753L30.8855 61.6244L26.1069 74.14C25.0676 74.0102 23.9807 74.1531 22.954 74.6101C19.9518 75.9469 18.6013 79.4647 19.9381 82.4683C21.2759 85.4707 24.7924 86.8207 27.7956 85.4841L28.064 85.3565C30.8779 83.9334 32.108 80.5385 30.8118 77.6261C30.3734 76.6416 29.7004 75.8346 28.8879 75.2418L33.6789 62.6906L33.7287 62.5353ZM22.6694 81.2519C22.0042 79.7573 22.6764 78.0067 24.17 77.3416C25.6646 76.6764 27.4153 77.3485 28.0803 78.8421C28.7457 80.3369 28.0739 82.0868 26.5798 82.7525C25.085 83.4178 23.3352 82.746 22.6694 81.2519ZM61.8047 63.7482C61.1395 62.2536 61.8117 60.5029 63.3053 59.8378C64.7999 59.1726 66.5506 59.8447 67.2156 61.3383C67.881 62.8332 67.2092 64.583 65.7151 65.2487C64.2203 65.914 62.4705 65.2423 61.8047 63.7482ZM24.2246 42.2052C24.2246 34.5908 30.397 28.4184 38.0115 28.4184C45.6259 28.4184 51.7983 34.5908 51.7983 42.2052C51.7983 49.8189 45.6255 55.9921 38.0115 55.9921C30.3974 55.9921 24.2246 49.8189 24.2246 42.2052ZM11.3897 38.1488C11.5617 38.5353 11.6892 38.9303 11.7745 39.3281L17.351 39.6541L17.5131 39.6723C18.2561 39.7971 18.8011 40.4644 18.7562 41.2337C18.7112 42.003 18.0921 42.6023 17.3397 42.6396L17.1765 42.6389L11.6427 42.3146C11.1552 43.9018 10.0097 45.2776 8.37343 46.0067C5.3703 47.3433 1.85376 45.9933 0.515963 42.9909C-0.820884 39.9873 0.529706 36.4696 3.53183 35.1328C6.53513 33.7961 10.0529 35.1466 11.3897 38.1488ZM3.2473 41.7746C2.58208 40.28 3.25423 38.5293 4.74784 37.8642C6.24245 37.199 7.99313 37.8711 8.65821 39.3648C9.32352 40.8596 8.65177 42.6094 7.15711 43.2754L6.96136 43.3544C5.51274 43.8805 3.88409 43.2037 3.2473 41.7746ZM72.6919 17.1378C71.1983 17.8028 70.5262 19.5535 71.1914 21.0481C71.8571 22.5422 73.6069 23.214 75.1017 22.5487C76.5958 21.8829 77.2676 20.1331 76.6023 18.6383C75.9372 17.1447 74.1865 16.4725 72.6919 17.1378ZM26.9817 7.15771C26.3165 5.6631 26.9887 3.91242 28.4823 3.24734C29.9769 2.58212 31.7275 3.25427 32.3926 4.74788C33.0579 6.2427 32.3862 7.99252 30.8921 8.65825C29.3973 9.32356 27.6475 8.65181 26.9817 7.15771Z" fill="#0F1031"/>
5
+ </g>
6
+ </svg>
src/resources/images/aggregator/ea-intro-img-text.png ADDED
Binary file
src/resources/js/views/README.md CHANGED
@@ -4,7 +4,7 @@ The Events Calendar uses JavaScript to support the functionalities of the views.
4
 
5
  ## Utilities
6
 
7
- We have two main utility JavaScript files that are by various other scripts: Viewport and Accordion. These can be extended by other Modern Tribe plugins or custom scripts.
8
 
9
  ### Viewport
10
 
@@ -36,7 +36,7 @@ The second is the `beforeAjaxSuccess.tribeEvents` event. The event fired when an
36
 
37
  ## Extendable
38
 
39
- Extendable JavaScript files are scripts that can be extended by other Modern Tribe plugins or custom scripts.
40
 
41
  ### Multiday Events
42
 
4
 
5
  ## Utilities
6
 
7
+ We have two main utility JavaScript files that are by various other scripts: Viewport and Accordion. These can be extended by other The Events Calendar plugins or custom scripts.
8
 
9
  ### Viewport
10
 
36
 
37
  ## Extendable
38
 
39
+ Extendable JavaScript files are scripts that can be extended by other The Events Calendar plugins or custom scripts.
40
 
41
  ### Multiday Events
42
 
the-events-calendar.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: The Events Calendar
4
  * Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
5
- * Version: 5.8.0
6
  * Author: The Events Calendar
7
  * Author URI: https://evnt.is/1x
8
  * Text Domain: the-events-calendar
@@ -12,7 +12,7 @@
12
  */
13
 
14
  /**
15
- * Copyright 2009-2012 by Modern Tribe Inc and the contributors
16
  *
17
  * This program is free software; you can redistribute it and/or
18
  * modify it under the terms of the GNU General Public License
2
  /**
3
  * Plugin Name: The Events Calendar
4
  * Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
5
+ * Version: 5.8.1
6
  * Author: The Events Calendar
7
  * Author URI: https://evnt.is/1x
8
  * Text Domain: the-events-calendar
12
  */
13
 
14
  /**
15
+ * Copyright 2009-2021 by The Events Calendar and the contributors
16
  *
17
  * This program is free software; you can redistribute it and/or
18
  * modify it under the terms of the GNU General Public License
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitc0031cc4792fc7ee5c93dcac4e8400bc::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit9bac594de72d20492ae38d6c6d5ba91a::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitc0031cc4792fc7ee5c93dcac4e8400bc
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitc0031cc4792fc7ee5c93dcac4e8400bc
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInitc0031cc4792fc7ee5c93dcac4e8400bc', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitc0031cc4792fc7ee5c93dcac4e8400bc', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInitc0031cc4792fc7ee5c93dcac4e8400bc::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit9bac594de72d20492ae38d6c6d5ba91a
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit9bac594de72d20492ae38d6c6d5ba91a', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit9bac594de72d20492ae38d6c6d5ba91a', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit9bac594de72d20492ae38d6c6d5ba91a::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInitc0031cc4792fc7ee5c93dcac4e8400bc
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
@@ -108,9 +108,9 @@ class ComposerStaticInitc0031cc4792fc7ee5c93dcac4e8400bc
108
  public static function getInitializer(ClassLoader $loader)
109
  {
110
  return \Closure::bind(function () use ($loader) {
111
- $loader->prefixLengthsPsr4 = ComposerStaticInitc0031cc4792fc7ee5c93dcac4e8400bc::$prefixLengthsPsr4;
112
- $loader->prefixDirsPsr4 = ComposerStaticInitc0031cc4792fc7ee5c93dcac4e8400bc::$prefixDirsPsr4;
113
- $loader->classMap = ComposerStaticInitc0031cc4792fc7ee5c93dcac4e8400bc::$classMap;
114
 
115
  }, null, ClassLoader::class);
116
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit9bac594de72d20492ae38d6c6d5ba91a
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
108
  public static function getInitializer(ClassLoader $loader)
109
  {
110
  return \Closure::bind(function () use ($loader) {
111
+ $loader->prefixLengthsPsr4 = ComposerStaticInit9bac594de72d20492ae38d6c6d5ba91a::$prefixLengthsPsr4;
112
+ $loader->prefixDirsPsr4 = ComposerStaticInit9bac594de72d20492ae38d6c6d5ba91a::$prefixDirsPsr4;
113
+ $loader->classMap = ComposerStaticInit9bac594de72d20492ae38d6c6d5ba91a::$classMap;
114
 
115
  }, null, ClassLoader::class);
116
  }