The Events Calendar - Version 5.15.0

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.15.0
Comparing to
See all releases

Code changes from version 5.14.2.1 to 5.15.0

Files changed (156) hide show
  1. common/lang/tribe-common-af.mo +0 -0
  2. common/lang/tribe-common-bg_BG.mo +0 -0
  3. common/lang/tribe-common-ca.mo +0 -0
  4. common/lang/tribe-common-cs_CZ.mo +0 -0
  5. common/lang/tribe-common-da_DK.mo +0 -0
  6. common/lang/tribe-common-de_DE.mo +0 -0
  7. common/lang/tribe-common-el.mo +0 -0
  8. common/lang/tribe-common-en_GB.mo +0 -0
  9. common/lang/tribe-common-es_ES.mo +0 -0
  10. common/lang/tribe-common-et.mo +0 -0
  11. common/lang/tribe-common-fi.mo +0 -0
  12. common/lang/tribe-common-fr_CA.mo +0 -0
  13. common/lang/tribe-common-fr_FR.mo +0 -0
  14. common/lang/tribe-common-hu_HU.mo +0 -0
  15. common/lang/tribe-common-id_ID.mo +0 -0
  16. common/lang/tribe-common-is_IS.mo +0 -0
  17. common/lang/tribe-common-it_IT.mo +0 -0
  18. common/lang/tribe-common-ja.mo +0 -0
  19. common/lang/tribe-common-lt_LT.mo +0 -0
  20. common/lang/tribe-common-lv.mo +0 -0
  21. common/lang/tribe-common-nb_NO.mo +0 -0
  22. common/lang/tribe-common-nl_NL.mo +0 -0
  23. common/lang/tribe-common-pt_BR.mo +0 -0
  24. common/lang/tribe-common-pt_PT.mo +0 -0
  25. common/lang/tribe-common-ro_RO.mo +0 -0
  26. common/lang/tribe-common-ru_RU.mo +0 -0
  27. common/lang/tribe-common-sk_SK.mo +0 -0
  28. common/lang/tribe-common-sl_SI.mo +0 -0
  29. common/lang/tribe-common-sr_RS.mo +0 -0
  30. common/lang/tribe-common-sv_SE.mo +0 -0
  31. common/lang/tribe-common-tr_TR.mo +0 -0
  32. common/lang/tribe-common-zh_CN.mo +0 -0
  33. common/lang/tribe-common-zh_TW.mo +0 -0
  34. common/lang/tribe-common.pot +174 -212
  35. common/src/Tribe/Admin/Activation_Page.php +14 -13
  36. common/src/Tribe/Admin/Help_Page.php +35 -1
  37. common/src/Tribe/Admin/Helpers.php +4 -4
  38. common/src/Tribe/Admin/Pages.php +309 -0
  39. common/src/Tribe/Admin/Troubleshooting.php +28 -1
  40. common/src/Tribe/Credits.php +8 -1
  41. common/src/Tribe/Field.php +1 -1
  42. common/src/Tribe/Log/Admin.php +14 -1
  43. common/src/Tribe/Main.php +5 -2
  44. common/src/Tribe/Onboarding/Main.php +2 -2
  45. common/src/Tribe/PUE/Checker.php +107 -6
  46. common/src/Tribe/Service_Providers/Onboarding.php +3 -3
  47. common/src/Tribe/Settings.php +237 -206
  48. common/src/Tribe/Settings_Manager.php +15 -33
  49. common/src/admin-views/help.php +6 -2
  50. common/src/admin-views/tribe-options-general.php +4 -4
  51. common/src/admin-views/troubleshooting/notice.php +5 -1
  52. common/src/resources/css/tribe-common-admin.min.css +1 -1
  53. common/src/resources/images/mascot.png +0 -0
  54. common/vendor/autoload.php +1 -1
  55. common/vendor/autoload_52.php +1 -1
  56. common/vendor/composer/autoload_classmap.php +1 -0
  57. common/vendor/composer/autoload_real.php +4 -4
  58. common/vendor/composer/autoload_real_52.php +3 -3
  59. common/vendor/composer/autoload_static.php +6 -5
  60. lang/the-events-calendar-bg_BG.mo +0 -0
  61. lang/the-events-calendar-ca.mo +0 -0
  62. lang/the-events-calendar-cs_CZ.mo +0 -0
  63. lang/the-events-calendar-da_DK.mo +0 -0
  64. lang/the-events-calendar-de_CH.mo +0 -0
  65. lang/the-events-calendar-de_DE.mo +0 -0
  66. lang/the-events-calendar-el.mo +0 -0
  67. lang/the-events-calendar-en_AU.mo +0 -0
  68. lang/the-events-calendar-en_CA.mo +0 -0
  69. lang/the-events-calendar-en_GB.mo +0 -0
  70. lang/the-events-calendar-en_NZ.mo +0 -0
  71. lang/the-events-calendar-en_ZA.mo +0 -0
  72. lang/the-events-calendar-es_CO.mo +0 -0
  73. lang/the-events-calendar-es_DO.mo +0 -0
  74. lang/the-events-calendar-es_EC.mo +0 -0
  75. lang/the-events-calendar-es_ES.mo +0 -0
  76. lang/the-events-calendar-es_MX.mo +0 -0
  77. lang/the-events-calendar-es_VE.mo +0 -0
  78. lang/the-events-calendar-eu.mo +0 -0
  79. lang/the-events-calendar-fi.mo +0 -0
  80. lang/the-events-calendar-fr_CA.mo +0 -0
  81. lang/the-events-calendar-fr_FR.mo +0 -0
  82. lang/the-events-calendar-gl_ES.mo +0 -0
  83. lang/the-events-calendar-he_IL.mo +0 -0
  84. lang/the-events-calendar-hr.mo +0 -0
  85. lang/the-events-calendar-hu_HU.mo +0 -0
  86. lang/the-events-calendar-it_IT.mo +0 -0
  87. lang/the-events-calendar-ja.mo +0 -0
  88. lang/the-events-calendar-lt_LT.mo +0 -0
  89. lang/the-events-calendar-nb_NO.mo +0 -0
  90. lang/the-events-calendar-nl_BE.mo +0 -0
  91. lang/the-events-calendar-nl_NL.mo +0 -0
  92. lang/the-events-calendar-nn_NO.mo +0 -0
  93. lang/the-events-calendar-pl_PL.mo +0 -0
  94. lang/the-events-calendar-pt_BR.mo +0 -0
  95. lang/the-events-calendar-pt_PT.mo +0 -0
  96. lang/the-events-calendar-ro_RO.mo +0 -0
  97. lang/the-events-calendar-ru_RU.mo +0 -0
  98. lang/the-events-calendar-sk_SK.mo +0 -0
  99. lang/the-events-calendar-sl_SI.mo +0 -0
  100. lang/the-events-calendar-sq.mo +0 -0
  101. lang/the-events-calendar-sv_SE.mo +0 -0
  102. lang/the-events-calendar-tr_TR.mo +0 -0
  103. lang/the-events-calendar-uk.mo +0 -0
  104. lang/the-events-calendar-zh_CN.mo +0 -0
  105. lang/the-events-calendar.pot +506 -470
  106. readme.txt +18 -27
  107. src/Events/Editor/Full_Site/Hooks.php +0 -137
  108. src/Events/Editor/Full_Site/Provider.php +0 -101
  109. src/Events/Editor/Full_Site/Templates.php +0 -94
  110. src/Events/Editor/Full_Site/Templates/archive-events.html +0 -3
  111. src/Tribe/API.php +3 -8
  112. src/Tribe/Admin/Bar/Default_Configurator.php +4 -2
  113. src/Tribe/Admin/Filter_Bar/Provider.php +16 -1
  114. src/Tribe/Admin/Provider.php +35 -0
  115. src/Tribe/Admin/Settings.php +510 -0
  116. src/Tribe/Aggregator.php +4 -1
  117. src/Tribe/Aggregator/Meta_Box.php +3 -1
  118. src/Tribe/Aggregator/Settings.php +14 -5
  119. src/Tribe/Aggregator/Tabs/New.php +4 -1
  120. src/Tribe/Aggregator/Tabs/Scheduled.php +11 -6
  121. src/Tribe/Amalgamator.php +24 -229
  122. src/Tribe/Editor.php +2 -3
  123. src/Tribe/Editor/Blocks/Archive_Events.php +0 -45
  124. src/Tribe/Editor/Provider.php +1 -1
  125. src/Tribe/Importer/Column_Mapper.php +0 -1
  126. src/Tribe/Importer/File_Importer_Events.php +0 -1
  127. src/Tribe/Importer/File_Reader.php +2 -19
  128. src/Tribe/Integrations/Freemius.php +11 -7
  129. src/Tribe/Main.php +48 -12
  130. src/Tribe/Models/Post_Types/Event.php +1 -1
  131. src/Tribe/Plugin_Register.php +5 -5
  132. src/Tribe/Views/V2/Hooks.php +0 -4
  133. src/Tribe/Views/V2/Template_Bootstrap.php +0 -4
  134. src/Tribe/Views/V2/View.php +3 -5
  135. src/Tribe/Views/V2/Views/Traits/With_Fast_Forward_Link.php +11 -22
  136. src/Tribe/Views/V2/iCalendar/Links/Google_Calendar.php +2 -13
  137. src/admin-views/admin-welcome-message.php +1 -1
  138. src/admin-views/aggregator/settings.php +4 -2
  139. src/admin-views/aggregator/status.php +1 -1
  140. src/admin-views/aggregator/tabs/import-form.php +2 -2
  141. src/admin-views/create-venue-fields.php +1 -1
  142. src/admin-views/tribe-options-addons-api.php +1 -1
  143. src/admin-views/tribe-options-display.php +84 -92
  144. src/admin-views/tribe-options-general.php +3 -3
  145. {common/src → src}/admin-views/tribe-options-network.php +5 -6
  146. src/admin-views/tribe-options-timezones.php +1 -1
  147. src/admin-views/tribe-options-upgrade.php +1 -1
  148. src/functions/template-tags/organizer.php +1 -3
  149. src/functions/template-tags/venue.php +1 -1
  150. src/resources/css/admin-menu.min.css +1 -1
  151. src/views/blocks/archive-events.php +0 -24
  152. the-events-calendar.php +1 -1
  153. vendor/autoload.php +1 -1
  154. vendor/composer/autoload_classmap.php +2 -4
  155. vendor/composer/autoload_real.php +4 -4
  156. vendor/composer/autoload_static.php +6 -8
common/lang/tribe-common-af.mo CHANGED
Binary file
common/lang/tribe-common-bg_BG.mo CHANGED
Binary file
common/lang/tribe-common-ca.mo CHANGED
Binary file
common/lang/tribe-common-cs_CZ.mo CHANGED
Binary file
common/lang/tribe-common-da_DK.mo CHANGED
Binary file
common/lang/tribe-common-de_DE.mo CHANGED
Binary file
common/lang/tribe-common-el.mo CHANGED
Binary file
common/lang/tribe-common-en_GB.mo CHANGED
Binary file
common/lang/tribe-common-es_ES.mo CHANGED
Binary file
common/lang/tribe-common-et.mo CHANGED
Binary file
common/lang/tribe-common-fi.mo CHANGED
Binary file
common/lang/tribe-common-fr_CA.mo CHANGED
Binary file
common/lang/tribe-common-fr_FR.mo CHANGED
Binary file
common/lang/tribe-common-hu_HU.mo CHANGED
Binary file
common/lang/tribe-common-id_ID.mo CHANGED
Binary file
common/lang/tribe-common-is_IS.mo CHANGED
Binary file
common/lang/tribe-common-it_IT.mo CHANGED
Binary file
common/lang/tribe-common-ja.mo CHANGED
Binary file
common/lang/tribe-common-lt_LT.mo CHANGED
Binary file
common/lang/tribe-common-lv.mo CHANGED
Binary file
common/lang/tribe-common-nb_NO.mo CHANGED
Binary file
common/lang/tribe-common-nl_NL.mo CHANGED
Binary file
common/lang/tribe-common-pt_BR.mo CHANGED
Binary file
common/lang/tribe-common-pt_PT.mo CHANGED
Binary file
common/lang/tribe-common-ro_RO.mo CHANGED
Binary file
common/lang/tribe-common-ru_RU.mo CHANGED
Binary file
common/lang/tribe-common-sk_SK.mo CHANGED
Binary file
common/lang/tribe-common-sl_SI.mo CHANGED
Binary file
common/lang/tribe-common-sr_RS.mo CHANGED
Binary file
common/lang/tribe-common-sv_SE.mo CHANGED
Binary file
common/lang/tribe-common-tr_TR.mo CHANGED
Binary file
common/lang/tribe-common-zh_CN.mo CHANGED
Binary file
common/lang/tribe-common-zh_TW.mo CHANGED
Binary file
common/lang/tribe-common.pot CHANGED
@@ -2,399 +2,399 @@
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.18\n"
6
  "Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
7
- "POT-Creation-Date: 2022-04-26 21:05:03+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: 2022-04-26 21:05\n"
12
  "Last-Translator: \n"
13
  "Language-Team: \n"
14
 
15
- #: src/Tribe/Admin/Activation_Page.php:106
16
  msgid "Go to plugins page"
17
  msgstr ""
18
 
19
- #: src/Tribe/Admin/Activation_Page.php:106
20
  msgid "Return to Plugins page"
21
  msgstr ""
22
 
23
- #: src/Tribe/Admin/Activation_Page.php:114
24
  msgid "Go to WordPress Updates page"
25
  msgstr ""
26
 
27
- #: src/Tribe/Admin/Activation_Page.php:114
28
  msgid "Return to WordPress Updates"
29
  msgstr ""
30
 
31
- #: src/Tribe/Admin/Help_Page.php:56
32
  msgctxt "Copy to clipboard button text."
33
  msgid "Copy to clipboard"
34
  msgstr ""
35
 
36
- #: src/Tribe/Admin/Help_Page.php:57
37
  msgctxt "Copy to clipboard success message"
38
  msgid "System info copied"
39
  msgstr ""
40
 
41
- #: src/Tribe/Admin/Help_Page.php:58
42
  msgctxt "Copy to clipboard instructions"
43
  msgid "Press \"Cmd + C\" to copy"
44
  msgstr ""
45
 
46
- #: src/Tribe/Admin/Help_Page.php:59
47
  msgctxt "Default error message for system info optin"
48
  msgid "Something has gone wrong!"
49
  msgstr ""
50
 
51
- #: src/Tribe/Admin/Help_Page.php:60
52
  msgctxt "Error code label for system info optin"
53
  msgid "Code:"
54
  msgstr ""
55
 
56
- #: src/Tribe/Admin/Help_Page.php:61
57
  msgctxt "Error status label for system info optin"
58
  msgid "Status:"
59
  msgstr ""
60
 
61
- #. #-#-#-#-# tribe-common.pot (Tribe Common 4.14.18) #-#-#-#-#
62
  #. Author of the plugin/theme
63
- #: src/Tribe/Admin/Help_Page.php:82 src/Tribe/Customizer.php:664
64
  #: src/Tribe/Plugins_API.php:25 src/admin-views/help-calendar.php:97
65
  msgid "The Events Calendar"
66
  msgstr ""
67
 
68
- #: src/Tribe/Admin/Help_Page.php:86
69
  msgid ""
70
  "The Events Calendar is a carefully crafted, extensible plugin that lets you "
71
  "easily share your events."
72
  msgstr ""
73
 
74
- #: src/Tribe/Admin/Help_Page.php:101 src/Tribe/Plugins_API.php:85
75
  #: src/admin-views/help-ticketing.php:97
76
  msgid "Event Tickets"
77
  msgstr ""
78
 
79
- #: src/Tribe/Admin/Help_Page.php:105
80
  msgid ""
81
  "Events Tickets is a carefully crafted, extensible plugin that lets you "
82
  "easily sell tickets for your events."
83
  msgstr ""
84
 
85
- #: src/Tribe/Admin/Help_Page.php:120
86
  msgid "Advanced Post Manager"
87
  msgstr ""
88
 
89
- #: src/Tribe/Admin/Help_Page.php:124
90
  msgid ""
91
  "Turbo charge your posts admin for any custom post type with sortable filters "
92
  "and columns, and auto-registration of metaboxes."
93
  msgstr ""
94
 
95
- #: src/Tribe/Admin/Help_Page.php:202
96
  msgid " and "
97
  msgstr ""
98
 
99
- #: src/Tribe/Admin/Help_Page.php:226
100
  msgid "Events Calendar PRO"
101
  msgstr ""
102
 
103
- #: src/Tribe/Admin/Help_Page.php:235 src/Tribe/Plugins_API.php:206
104
  msgid "Eventbrite Tickets"
105
  msgstr ""
106
 
107
- #: src/Tribe/Admin/Help_Page.php:243 src/Tribe/Plugins_API.php:165
108
  #: src/admin-views/help-community.php:90
109
  msgid "Community Events"
110
  msgstr ""
111
 
112
- #: src/Tribe/Admin/Help_Page.php:251 src/Tribe/Plugins_API.php:45
113
  #: src/admin-views/help-calendar.php:102
114
  msgid "Event Aggregator"
115
  msgstr ""
116
 
117
- #: src/Tribe/Admin/Help_Page.php:261 src/Tribe/Plugins_API.php:145
118
  #: src/admin-views/help-calendar.php:107
119
  msgid "Filter Bar"
120
  msgstr ""
121
 
122
- #: src/Tribe/Admin/Help_Page.php:269 src/Tribe/Plugins_API.php:245
123
  #: src/admin-views/help-calendar.php:112
124
  msgid "Virtual Events"
125
  msgstr ""
126
 
127
- #: src/Tribe/Admin/Help_Page.php:277 src/Tribe/Plugins_API.php:105
128
  msgid "Event Tickets Plus"
129
  msgstr ""
130
 
131
- #: src/Tribe/Admin/Help_Page.php:286 src/Tribe/Plugins_API.php:185
132
  #: src/admin-views/help-community.php:95
133
  msgid "Community Tickets"
134
  msgstr ""
135
 
136
- #: src/Tribe/Admin/Help_Page.php:447
137
  msgctxt "not available"
138
  msgid "n/a"
139
  msgstr ""
140
 
141
- #: src/Tribe/Admin/Help_Page.php:455
142
  msgid "You need to upgrade!"
143
  msgstr ""
144
 
145
- #: src/Tribe/Admin/Help_Page.php:455 src/Tribe/Admin/Help_Page.php:830
146
  msgid "You are up to date!"
147
  msgstr ""
148
 
149
- #: src/Tribe/Admin/Help_Page.php:820
150
  msgid "Activate %s"
151
  msgstr ""
152
 
153
- #: src/Tribe/Admin/Help_Page.php:820
154
  msgid "Activate Plugin"
155
  msgstr ""
156
 
157
- #: src/Tribe/Admin/Help_Page.php:828
158
  msgid "Upgrade Plugin"
159
  msgstr ""
160
 
161
- #: src/Tribe/Admin/Help_Page.php:844
162
  msgid "Install %s"
163
  msgstr ""
164
 
165
- #: src/Tribe/Admin/Help_Page.php:844
166
  msgid "Install Plugin"
167
  msgstr ""
168
 
169
- #: src/Tribe/Admin/Help_Page.php:861
170
  msgid "Latest Version:"
171
  msgstr ""
172
 
173
- #: src/Tribe/Admin/Help_Page.php:864
174
  msgid "Requires:"
175
  msgstr ""
176
 
177
- #: src/Tribe/Admin/Help_Page.php:865
178
  msgid "WordPress "
179
  msgstr ""
180
 
181
- #: src/Tribe/Admin/Help_Page.php:867
182
  msgid "Active Users:"
183
  msgstr ""
184
 
185
- #: src/Tribe/Admin/Help_Page.php:870
186
  msgid "Rating:"
187
  msgstr ""
188
 
189
- #: src/Tribe/Admin/Help_Page.php:893
190
  msgid "Premium Add-Ons"
191
  msgstr ""
192
 
193
- #: src/Tribe/Admin/Help_Page.php:899
194
  msgid "Plugin Active"
195
  msgstr ""
196
 
197
- #: src/Tribe/Admin/Help_Page.php:901
198
  msgid "Plugin Inactive"
199
  msgstr ""
200
 
201
- #: src/Tribe/Admin/Help_Page.php:906
202
  msgid "Visit the Add-on Page"
203
  msgstr ""
204
 
205
- #: src/Tribe/Admin/Help_Page.php:930
206
  msgid "Can I have more than one calendar?"
207
  msgstr ""
208
 
209
- #: src/Tribe/Admin/Help_Page.php:931
210
  msgid ""
211
  "No, but you can use event categories or tags to display certain events like "
212
  "having..."
213
  msgstr ""
214
 
215
- #: src/Tribe/Admin/Help_Page.php:935
216
  msgid "What do I get with Events Calendar Pro?"
217
  msgstr ""
218
 
219
- #: src/Tribe/Admin/Help_Page.php:936
220
  msgid "Events Calendar Pro runs alongside The Events Calendar and enhances..."
221
  msgstr ""
222
 
223
- #: src/Tribe/Admin/Help_Page.php:940
224
  msgid "How do I sell tickets to events?"
225
  msgstr ""
226
 
227
- #: src/Tribe/Admin/Help_Page.php:941
228
  msgid ""
229
  "Use our free Event Tickets plugin to get started with tickets and RSVPs."
230
  msgstr ""
231
 
232
- #: src/Tribe/Admin/Help_Page.php:945
233
  msgid "Where can I find a list of available shortcodes?"
234
  msgstr ""
235
 
236
- #: src/Tribe/Admin/Help_Page.php:946
237
  msgid ""
238
  "Our plugins include many shortcodes that do everything from embedding the "
239
  "calendar..."
240
  msgstr ""
241
 
242
- #: src/Tribe/Admin/Help_Page.php:964
243
  msgid "Calendar widget areas"
244
  msgstr ""
245
 
246
- #: src/Tribe/Admin/Help_Page.php:965
247
  msgid ""
248
  "This extension creates a useful variety of WordPress widget areas (a.k.a. "
249
  "sidebars)."
250
  msgstr ""
251
 
252
- #: src/Tribe/Admin/Help_Page.php:970
253
  msgid "Event block patterns"
254
  msgstr ""
255
 
256
- #: src/Tribe/Admin/Help_Page.php:971
257
  msgid ""
258
  "This extension adds a set of block patterns for events to the WordPress "
259
  "block editor."
260
  msgstr ""
261
 
262
- #: src/Tribe/Admin/Help_Page.php:976
263
  msgid "Alternative photo view"
264
  msgstr ""
265
 
266
- #: src/Tribe/Admin/Help_Page.php:977
267
  msgid ""
268
  "This extension replaces photo view with a tiled grid of cards featuring "
269
  "event images."
270
  msgstr ""
271
 
272
- #: src/Tribe/Admin/Help_Page.php:982
273
  msgid "The Events Calendar Tweaks"
274
  msgstr ""
275
 
276
- #: src/Tribe/Admin/Help_Page.php:983
277
  msgid ""
278
  "This extension is a collection of tweaks and snippets for The Events "
279
  "Calendar."
280
  msgstr ""
281
 
282
- #: src/Tribe/Admin/Help_Page.php:1020
283
  msgid "How Do I create events with Tickets or RSVP’s?"
284
  msgstr ""
285
 
286
- #: src/Tribe/Admin/Help_Page.php:1021
287
  msgid ""
288
  "We’ve put together a video tutorial showing how to create events with "
289
  "Tickets using our plugins. Click on the link in the link in the title to "
290
  "learn more."
291
  msgstr ""
292
 
293
- #: src/Tribe/Admin/Help_Page.php:1025
294
  msgid "How Do I Set Up E-Commerce Plugins for Selling Tickets?"
295
  msgstr ""
296
 
297
- #: src/Tribe/Admin/Help_Page.php:1026
298
  msgid ""
299
  "You can sell tickets using our built-in e-commerce option, or upgrade to "
300
  "Event Tickets Plus to use ecommerce plugins such as WooCommerce."
301
  msgstr ""
302
 
303
- #: src/Tribe/Admin/Help_Page.php:1030
304
  msgid "Can I have a seating chart associated with my tickets?"
305
  msgstr ""
306
 
307
- #: src/Tribe/Admin/Help_Page.php:1031
308
  msgid ""
309
  "Yes! You can easily accomplish this task using the stock options and "
310
  "multiple ticket types available with Event Tickets."
311
  msgstr ""
312
 
313
- #: src/Tribe/Admin/Help_Page.php:1035
314
  msgid "How do I process refunds for tickets?"
315
  msgstr ""
316
 
317
- #: src/Tribe/Admin/Help_Page.php:1036
318
  msgid ""
319
  "When it comes to paid tickets, these orders can be refunded through the e-"
320
  "commerce platform in use."
321
  msgstr ""
322
 
323
- #: src/Tribe/Admin/Help_Page.php:1054
324
  msgid "Ticket Email Settings"
325
  msgstr ""
326
 
327
- #: src/Tribe/Admin/Help_Page.php:1055
328
  msgid ""
329
  "Adds a new settings panel in Events > Settings that gives more control over "
330
  "the ticket and rsvp emails that are sent to attendees after registration."
331
  msgstr ""
332
 
333
- #: src/Tribe/Admin/Help_Page.php:1060
334
  msgid "Per Event Check In API"
335
  msgstr ""
336
 
337
- #: src/Tribe/Admin/Help_Page.php:1061
338
  msgid ""
339
  "This extension shows a meta box with an API key on each Event with Ticket/"
340
  "RSVP."
341
  msgstr ""
342
 
343
- #: src/Tribe/Admin/Help_Page.php:1066
344
  msgid "Add Event & Attendee Info to WooCommerce Order Details"
345
  msgstr ""
346
 
347
- #: src/Tribe/Admin/Help_Page.php:1067
348
  msgid ""
349
  "Displays the information collected by “attendee meta fields” in the "
350
  "WooCommerce order screens as well."
351
  msgstr ""
352
 
353
- #: src/Tribe/Admin/Help_Page.php:1072
354
  msgid "Organizer Notification Email"
355
  msgstr ""
356
 
357
- #: src/Tribe/Admin/Help_Page.php:1073
358
  msgid ""
359
  "This extension will send an email to event organizers whenever a user "
360
  "registers for their event."
361
  msgstr ""
362
 
363
- #: src/Tribe/Admin/Help_Page.php:1110
364
  msgid "Add Cost Currency Symbol"
365
  msgstr ""
366
 
367
- #: src/Tribe/Admin/Help_Page.php:1111
368
  msgid ""
369
  "This extension allows you to set default currency symbols for your users to "
370
  "choose from instead of having a plain text field."
371
  msgstr ""
372
 
373
- #: src/Tribe/Admin/Help_Page.php:1116
374
  msgid "Add Google Maps Display and Link Options"
375
  msgstr ""
376
 
377
- #: src/Tribe/Admin/Help_Page.php:1117
378
  msgid ""
379
  "This extension adds the “Show Google Maps” and “Show Google Maps Link” "
380
  "checkboxes when creating a new Venue."
381
  msgstr ""
382
 
383
- #: src/Tribe/Admin/Help_Page.php:1122
384
  msgid "Hide Others’ Organizers and Venues"
385
  msgstr ""
386
 
387
- #: src/Tribe/Admin/Help_Page.php:1123
388
  msgid ""
389
  "This extension allows you to hide the Organizers and Venues that a visitor "
390
  "has not created from the Community Events submission form."
391
  msgstr ""
392
 
393
- #: src/Tribe/Admin/Help_Page.php:1128
394
  msgid "Display Custom HTML"
395
  msgstr ""
396
 
397
- #: src/Tribe/Admin/Help_Page.php:1129
398
  msgid ""
399
  "This extension allows you to add custom HTML content to the top of the "
400
  "Community Events submission form."
@@ -461,18 +461,18 @@ msgstr ""
461
  msgid "Read more."
462
  msgstr ""
463
 
464
- #: src/Tribe/Admin/Troubleshooting.php:65
465
  #: src/Tribe/Admin/Troubleshooting.php:66
466
- #: src/Tribe/Admin/Troubleshooting.php:123
 
467
  #: src/admin-views/troubleshooting/introduction.php:21
468
  msgid "Troubleshooting"
469
  msgstr ""
470
 
471
- #: src/Tribe/Admin/Troubleshooting.php:270
472
  msgid "Site time zone uses UTC"
473
  msgstr ""
474
 
475
- #: src/Tribe/Admin/Troubleshooting.php:271
476
  msgid ""
477
  "When using The Events Calendar, we highly recommend that you use a "
478
  "geographic timezone such as \"America/Los_Angeles\" and avoid using a UTC "
@@ -482,30 +482,30 @@ msgid ""
482
  "timezone."
483
  msgstr ""
484
 
485
- #: src/Tribe/Admin/Troubleshooting.php:273
486
  msgid "Adjust your timezone"
487
  msgstr ""
488
 
489
- #: src/Tribe/Admin/Troubleshooting.php:278
490
  msgid "Install max has been reached"
491
  msgstr ""
492
 
493
- #: src/Tribe/Admin/Troubleshooting.php:279
494
  msgid ""
495
  "License keys can only be used on a limited number of sites, which varies "
496
  "depending on your license level. You'll need to remove the license from one "
497
  "or more other site's in order to use it on this one."
498
  msgstr ""
499
 
500
- #: src/Tribe/Admin/Troubleshooting.php:281
501
  msgid "Manage your licenses"
502
  msgstr ""
503
 
504
- #: src/Tribe/Admin/Troubleshooting.php:286
505
  msgid "Default Google Maps API key"
506
  msgstr ""
507
 
508
- #: src/Tribe/Admin/Troubleshooting.php:287
509
  msgid ""
510
  "The Events Calendar comes with an API key for basic maps functionality. If "
511
  "you’d like to use more advanced features like custom map pins, dynamic map "
@@ -514,15 +514,15 @@ msgid ""
514
  "Settings > Integrations"
515
  msgstr ""
516
 
517
- #: src/Tribe/Admin/Troubleshooting.php:289
518
  msgid "Enter a custom API key"
519
  msgstr ""
520
 
521
- #: src/Tribe/Admin/Troubleshooting.php:294
522
  msgid "Plugin(s) are out of date"
523
  msgstr ""
524
 
525
- #: src/Tribe/Admin/Troubleshooting.php:295
526
  msgid ""
527
  "It's important to use the most recent versions of our plugins so that you "
528
  "have access to the latest features, bug fixes, and security updates. Plugin "
@@ -530,39 +530,39 @@ msgid ""
530
  "matched versions."
531
  msgstr ""
532
 
533
- #: src/Tribe/Admin/Troubleshooting.php:297
534
  msgid "Check for updates"
535
  msgstr ""
536
 
537
- #: src/Tribe/Admin/Troubleshooting.php:316
538
  msgid "Common Error Messages"
539
  msgstr ""
540
 
541
- #: src/Tribe/Admin/Troubleshooting.php:317
542
  msgid "Here’s an overview of %s and what they mean."
543
  msgstr ""
544
 
545
- #: src/Tribe/Admin/Troubleshooting.php:322
546
  msgid "My calendar doesn’t look right."
547
  msgstr ""
548
 
549
- #: src/Tribe/Admin/Troubleshooting.php:323
550
  msgid "This can happen when other plugins try to improve performance. %s."
551
  msgstr ""
552
 
553
- #: src/Tribe/Admin/Troubleshooting.php:328
554
  msgid "I installed the calendar and it crashed my site."
555
  msgstr ""
556
 
557
- #: src/Tribe/Admin/Troubleshooting.php:329
558
  msgid "%s and other common installation issues."
559
  msgstr ""
560
 
561
- #: src/Tribe/Admin/Troubleshooting.php:334
562
  msgid "I keep getting “Page Not Found” on events."
563
  msgstr ""
564
 
565
- #: src/Tribe/Admin/Troubleshooting.php:335
566
  msgid "There are a few %s to resolve and prevent 404 errors."
567
  msgstr ""
568
 
@@ -2202,12 +2202,12 @@ msgstr ""
2202
  msgid "Action-based Logger"
2203
  msgstr ""
2204
 
2205
- #: src/Tribe/Log/Admin.php:133
2206
  msgctxt "log selector"
2207
  msgid "None currently available"
2208
  msgstr ""
2209
 
2210
- #: src/Tribe/Log/Admin.php:148
2211
  msgctxt "log engines"
2212
  msgid "None currently available"
2213
  msgstr ""
@@ -2240,188 +2240,188 @@ msgstr ""
2240
  msgid "Full debug (all events)"
2241
  msgstr ""
2242
 
2243
- #: src/Tribe/Main.php:353
2244
  msgid ": activate to sort column ascending"
2245
  msgstr ""
2246
 
2247
- #: src/Tribe/Main.php:354
2248
  msgid ": activate to sort column descending"
2249
  msgstr ""
2250
 
2251
- #: src/Tribe/Main.php:356
2252
  msgid "Show _MENU_ entries"
2253
  msgstr ""
2254
 
2255
- #: src/Tribe/Main.php:357
2256
  msgid "No data available in table"
2257
  msgstr ""
2258
 
2259
- #: src/Tribe/Main.php:358
2260
  msgid "Showing _START_ to _END_ of _TOTAL_ entries"
2261
  msgstr ""
2262
 
2263
- #: src/Tribe/Main.php:359
2264
  msgid "Showing 0 to 0 of 0 entries"
2265
  msgstr ""
2266
 
2267
- #: src/Tribe/Main.php:360
2268
  msgid "(filtered from _MAX_ total entries)"
2269
  msgstr ""
2270
 
2271
- #: src/Tribe/Main.php:361
2272
  msgid "No matching records found"
2273
  msgstr ""
2274
 
2275
- #: src/Tribe/Main.php:362
2276
  msgid "Search:"
2277
  msgstr ""
2278
 
2279
- #: src/Tribe/Main.php:363
2280
  msgid "All items on this page were selected. "
2281
  msgstr ""
2282
 
2283
- #: src/Tribe/Main.php:364
2284
  msgid "Select all pages"
2285
  msgstr ""
2286
 
2287
- #: src/Tribe/Main.php:365
2288
  msgid "Clear Selection."
2289
  msgstr ""
2290
 
2291
- #: src/Tribe/Main.php:367
2292
  msgid "All"
2293
  msgstr ""
2294
 
2295
- #: src/Tribe/Main.php:368 src/Tribe/Main.php:385
2296
  msgid "Next"
2297
  msgstr ""
2298
 
2299
- #: src/Tribe/Main.php:369
2300
  msgid "Previous"
2301
  msgstr ""
2302
 
2303
- #: src/Tribe/Main.php:374
2304
  msgid ": Selected %d rows"
2305
  msgstr ""
2306
 
2307
- #: src/Tribe/Main.php:375
2308
  msgid ": Selected 1 row"
2309
  msgstr ""
2310
 
2311
- #: src/Tribe/Main.php:386
2312
  msgid "Prev"
2313
  msgstr ""
2314
 
2315
- #: src/Tribe/Main.php:387 src/Tribe/Main.php:389
2316
  msgid "Today"
2317
  msgstr ""
2318
 
2319
- #: src/Tribe/Main.php:388
2320
  msgid "Done"
2321
  msgstr ""
2322
 
2323
- #: src/Tribe/Main.php:390
2324
  msgid "Clear"
2325
  msgstr ""
2326
 
2327
- #: src/Tribe/PUE/Checker.php:531
2328
  msgid "A valid license key is required for support and updates"
2329
  msgstr ""
2330
 
2331
- #: src/Tribe/PUE/Checker.php:534
2332
  msgid ""
2333
  "%1$sBuy a license%2$s for the Event Aggregator service to access additional "
2334
  "import features."
2335
  msgstr ""
2336
 
2337
- #: src/Tribe/PUE/Checker.php:546 src/Tribe/PUE/Checker.php:557
2338
  #: src/admin-views/troubleshooting/ea-status/license-key.php:44
2339
  msgid "License Key"
2340
  msgstr ""
2341
 
2342
- #: src/Tribe/PUE/Checker.php:566 src/Tribe/PUE/Checker.php:600
2343
  msgid "License Key Status:"
2344
  msgstr ""
2345
 
2346
- #: src/Tribe/PUE/Checker.php:575
2347
  msgid "Override network license key"
2348
  msgstr ""
2349
 
2350
- #: src/Tribe/PUE/Checker.php:576
2351
  msgid ""
2352
  "Check this box if you wish to override the network license key with your own"
2353
  msgstr ""
2354
 
2355
- #: src/Tribe/PUE/Checker.php:587
2356
  msgid "Site License Key"
2357
  msgstr ""
2358
 
2359
- #: src/Tribe/PUE/Checker.php:687
2360
  msgid "License key(s) updated."
2361
  msgstr ""
2362
 
2363
- #: src/Tribe/PUE/Checker.php:941
2364
  msgid ""
2365
  "Hmmm... something's wrong with this validator. Please contact %ssupport%s."
2366
  msgstr ""
2367
 
2368
- #: src/Tribe/PUE/Checker.php:954
2369
  msgid "unknown date"
2370
  msgstr ""
2371
 
2372
- #: src/Tribe/PUE/Checker.php:960
2373
  msgid "Sorry, key validation server is not available."
2374
  msgstr ""
2375
 
2376
- #: src/Tribe/PUE/Checker.php:980
2377
  msgid "Valid Key! Expires on %s"
2378
  msgstr ""
2379
 
2380
- #: src/Tribe/PUE/Checker.php:985
2381
  msgid "Thanks for setting up a valid key. It will expire on %s"
2382
  msgstr ""
2383
 
2384
- #: src/Tribe/PUE/Checker.php:1014 src/Tribe/PUE/Notices.php:342
2385
  msgid "Renew Your License Now"
2386
  msgstr ""
2387
 
2388
- #: src/Tribe/PUE/Checker.php:1016 src/Tribe/PUE/Notices.php:344
2389
  msgid " (opens in a new window)"
2390
  msgstr ""
2391
 
2392
- #: src/Tribe/PUE/Checker.php:1033
2393
  msgid "Please refresh the page and try your request again."
2394
  msgstr ""
2395
 
2396
- #: src/Tribe/PUE/Checker.php:1053
2397
  msgid ""
2398
  "There is an update for %s. You'll need to %scheck your license%s to have "
2399
  "access to updates, downloads, and support."
2400
  msgstr ""
2401
 
2402
- #: src/Tribe/PUE/Checker.php:1110
2403
  msgid ""
2404
  "There is an update for %s. %sRenew your license%s to get access to bug "
2405
  "fixes, security updates, and new features."
2406
  msgstr ""
2407
 
2408
- #: src/Tribe/PUE/Checker.php:1140
2409
  msgid "Update now to version %s."
2410
  msgstr ""
2411
 
2412
- #: src/Tribe/PUE/Checker.php:1151
2413
  msgid "There is a new version of %1$s available. %2$s"
2414
  msgstr ""
2415
 
2416
- #: src/Tribe/PUE/Checker.php:1732
2417
  msgid "A valid license has been entered by your network administrator."
2418
  msgstr ""
2419
 
2420
- #: src/Tribe/PUE/Checker.php:1733
2421
  msgid "No license entered. Consult your network administrator."
2422
  msgstr ""
2423
 
2424
- #: src/Tribe/PUE/Checker.php:1734
2425
  msgid "Expired license. Consult your network administrator."
2426
  msgstr ""
2427
 
@@ -2787,56 +2787,44 @@ msgstr ""
2787
  msgid "Got it"
2788
  msgstr ""
2789
 
2790
- #: src/Tribe/Settings.php:177 src/Tribe/Settings.php:241
2791
- #: src/Tribe/Settings.php:242
2792
  msgid "Events"
2793
  msgstr ""
2794
 
2795
- #: src/Tribe/Settings.php:253 src/Tribe/Settings.php:273
2796
- msgid "Events Settings"
2797
- msgstr ""
2798
-
2799
- #: src/Tribe/Settings.php:254
2800
- msgid "Settings"
2801
- msgstr ""
2802
-
2803
- #: src/Tribe/Settings.php:281 src/Tribe/Settings.php:282
2804
- msgid "Events Help"
2805
- msgstr ""
2806
-
2807
- #: src/Tribe/Settings.php:355
2808
  msgid "%s Settings"
2809
  msgstr ""
2810
 
2811
- #: src/Tribe/Settings.php:369
2812
  msgid "You've requested a non-existent tab."
2813
  msgstr ""
2814
 
2815
- #: src/Tribe/Settings.php:377
2816
  msgid "Save Changes"
2817
  msgstr ""
2818
 
2819
- #: src/Tribe/Settings.php:425
2820
  msgid "You don't have permission to do that."
2821
  msgstr ""
2822
 
2823
- #: src/Tribe/Settings.php:431
2824
  msgid "The request was sent insecurely."
2825
  msgstr ""
2826
 
2827
- #: src/Tribe/Settings.php:437
2828
  msgid "The request wasn't sent from this tab."
2829
  msgstr ""
2830
 
2831
- #: src/Tribe/Settings.php:614
2832
  msgid "Your form had the following errors:"
2833
  msgstr ""
2834
 
2835
- #: src/Tribe/Settings.php:624
2836
  msgid "None of your settings were saved. Please try again."
2837
  msgstr ""
2838
 
2839
- #: src/Tribe/Settings.php:625
2840
  msgid ""
2841
  "The above setting was not saved. Other settings were successfully saved."
2842
  msgid_plural ""
@@ -2844,28 +2832,16 @@ msgid_plural ""
2844
  msgstr[0] ""
2845
  msgstr[1] ""
2846
 
2847
- #: src/Tribe/Settings.php:647
2848
  msgid "Settings saved."
2849
  msgstr ""
2850
 
2851
- #: src/Tribe/Settings_Manager.php:80
2852
- msgid "General"
2853
- msgstr ""
2854
-
2855
- #: src/Tribe/Settings_Manager.php:81
2856
- msgid "Display"
2857
- msgstr ""
2858
-
2859
- #: src/Tribe/Settings_Manager.php:275
2860
- msgid "Network"
2861
- msgstr ""
2862
-
2863
- #: src/Tribe/Settings_Manager.php:309
2864
  #: src/admin-views/tribe-options-licenses.php:57
2865
  msgid "Licenses"
2866
  msgstr ""
2867
 
2868
- #: src/Tribe/Settings_Manager.php:339 src/admin-views/help.php:30
2869
  msgid "Help"
2870
  msgstr ""
2871
 
@@ -3061,7 +3037,7 @@ msgstr ""
3061
  #: src/admin-views/app-shop.php:30
3062
  #: src/admin-views/conditional_content/black-friday.php:16
3063
  #: src/admin-views/conditional_content/end-of-year-sale.php:16
3064
- #: src/admin-views/help.php:27 src/admin-views/help.php:82
3065
  #: src/admin-views/troubleshooting/footer-logo.php:12
3066
  #: src/admin-views/troubleshooting/introduction.php:19
3067
  msgid "The Events Calendar brand logo"
@@ -3407,16 +3383,16 @@ msgstr ""
3407
  msgid "Community"
3408
  msgstr ""
3409
 
3410
- #: src/admin-views/help.php:63
3411
  #: src/admin-views/troubleshooting/support-cta.php:13
3412
  msgid "Graphic with an electrical plug and gears"
3413
  msgstr ""
3414
 
3415
- #: src/admin-views/help.php:68
3416
  msgid "Need additional support?"
3417
  msgstr ""
3418
 
3419
- #: src/admin-views/help.php:73
3420
  msgid "Visit Troubleshooting next"
3421
  msgstr ""
3422
 
@@ -3696,20 +3672,6 @@ msgstr ""
3696
  msgid "Licenses for Multisites"
3697
  msgstr ""
3698
 
3699
- #: src/admin-views/tribe-options-network.php:15
3700
- msgid "Network Settings"
3701
- msgstr ""
3702
-
3703
- #: src/admin-views/tribe-options-network.php:19
3704
- msgid ""
3705
- "This is where all of the global network settings for The Events Calendar can "
3706
- "be modified."
3707
- msgstr ""
3708
-
3709
- #: src/admin-views/tribe-options-network.php:27
3710
- msgid "Hide the following settings tabs on every site:"
3711
- msgstr ""
3712
-
3713
  #: src/admin-views/troubleshooting/common-issues.php:14
3714
  msgid "Common Problems"
3715
  msgstr ""
@@ -3906,11 +3868,11 @@ msgid ""
3906
  "resources to get you back on track."
3907
  msgstr ""
3908
 
3909
- #: src/admin-views/troubleshooting/notice.php:8
3910
  msgid "Help page?"
3911
  msgstr ""
3912
 
3913
- #: src/admin-views/troubleshooting/notice.php:13
3914
  msgid "Hey there... did you check out the %s"
3915
  msgstr ""
3916
 
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.15.0\n"
6
  "Report-Msgid-Bugs-To: http://m.tri.be/191x\n"
7
+ "POT-Creation-Date: 2022-05-17 19:31: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: 2022-05-17 19:31\n"
12
  "Last-Translator: \n"
13
  "Language-Team: \n"
14
 
15
+ #: src/Tribe/Admin/Activation_Page.php:108
16
  msgid "Go to plugins page"
17
  msgstr ""
18
 
19
+ #: src/Tribe/Admin/Activation_Page.php:108
20
  msgid "Return to Plugins page"
21
  msgstr ""
22
 
23
+ #: src/Tribe/Admin/Activation_Page.php:116
24
  msgid "Go to WordPress Updates page"
25
  msgstr ""
26
 
27
+ #: src/Tribe/Admin/Activation_Page.php:116
28
  msgid "Return to WordPress Updates"
29
  msgstr ""
30
 
31
+ #: src/Tribe/Admin/Help_Page.php:90
32
  msgctxt "Copy to clipboard button text."
33
  msgid "Copy to clipboard"
34
  msgstr ""
35
 
36
+ #: src/Tribe/Admin/Help_Page.php:91
37
  msgctxt "Copy to clipboard success message"
38
  msgid "System info copied"
39
  msgstr ""
40
 
41
+ #: src/Tribe/Admin/Help_Page.php:92
42
  msgctxt "Copy to clipboard instructions"
43
  msgid "Press \"Cmd + C\" to copy"
44
  msgstr ""
45
 
46
+ #: src/Tribe/Admin/Help_Page.php:93
47
  msgctxt "Default error message for system info optin"
48
  msgid "Something has gone wrong!"
49
  msgstr ""
50
 
51
+ #: src/Tribe/Admin/Help_Page.php:94
52
  msgctxt "Error code label for system info optin"
53
  msgid "Code:"
54
  msgstr ""
55
 
56
+ #: src/Tribe/Admin/Help_Page.php:95
57
  msgctxt "Error status label for system info optin"
58
  msgid "Status:"
59
  msgstr ""
60
 
61
+ #. #-#-#-#-# tribe-common.pot (Tribe Common 4.15.0) #-#-#-#-#
62
  #. Author of the plugin/theme
63
+ #: src/Tribe/Admin/Help_Page.php:116 src/Tribe/Customizer.php:664
64
  #: src/Tribe/Plugins_API.php:25 src/admin-views/help-calendar.php:97
65
  msgid "The Events Calendar"
66
  msgstr ""
67
 
68
+ #: src/Tribe/Admin/Help_Page.php:120
69
  msgid ""
70
  "The Events Calendar is a carefully crafted, extensible plugin that lets you "
71
  "easily share your events."
72
  msgstr ""
73
 
74
+ #: src/Tribe/Admin/Help_Page.php:135 src/Tribe/Plugins_API.php:85
75
  #: src/admin-views/help-ticketing.php:97
76
  msgid "Event Tickets"
77
  msgstr ""
78
 
79
+ #: src/Tribe/Admin/Help_Page.php:139
80
  msgid ""
81
  "Events Tickets is a carefully crafted, extensible plugin that lets you "
82
  "easily sell tickets for your events."
83
  msgstr ""
84
 
85
+ #: src/Tribe/Admin/Help_Page.php:154
86
  msgid "Advanced Post Manager"
87
  msgstr ""
88
 
89
+ #: src/Tribe/Admin/Help_Page.php:158
90
  msgid ""
91
  "Turbo charge your posts admin for any custom post type with sortable filters "
92
  "and columns, and auto-registration of metaboxes."
93
  msgstr ""
94
 
95
+ #: src/Tribe/Admin/Help_Page.php:236
96
  msgid " and "
97
  msgstr ""
98
 
99
+ #: src/Tribe/Admin/Help_Page.php:260
100
  msgid "Events Calendar PRO"
101
  msgstr ""
102
 
103
+ #: src/Tribe/Admin/Help_Page.php:269 src/Tribe/Plugins_API.php:206
104
  msgid "Eventbrite Tickets"
105
  msgstr ""
106
 
107
+ #: src/Tribe/Admin/Help_Page.php:277 src/Tribe/Plugins_API.php:165
108
  #: src/admin-views/help-community.php:90
109
  msgid "Community Events"
110
  msgstr ""
111
 
112
+ #: src/Tribe/Admin/Help_Page.php:285 src/Tribe/Plugins_API.php:45
113
  #: src/admin-views/help-calendar.php:102
114
  msgid "Event Aggregator"
115
  msgstr ""
116
 
117
+ #: src/Tribe/Admin/Help_Page.php:295 src/Tribe/Plugins_API.php:145
118
  #: src/admin-views/help-calendar.php:107
119
  msgid "Filter Bar"
120
  msgstr ""
121
 
122
+ #: src/Tribe/Admin/Help_Page.php:303 src/Tribe/Plugins_API.php:245
123
  #: src/admin-views/help-calendar.php:112
124
  msgid "Virtual Events"
125
  msgstr ""
126
 
127
+ #: src/Tribe/Admin/Help_Page.php:311 src/Tribe/Plugins_API.php:105
128
  msgid "Event Tickets Plus"
129
  msgstr ""
130
 
131
+ #: src/Tribe/Admin/Help_Page.php:320 src/Tribe/Plugins_API.php:185
132
  #: src/admin-views/help-community.php:95
133
  msgid "Community Tickets"
134
  msgstr ""
135
 
136
+ #: src/Tribe/Admin/Help_Page.php:481
137
  msgctxt "not available"
138
  msgid "n/a"
139
  msgstr ""
140
 
141
+ #: src/Tribe/Admin/Help_Page.php:489
142
  msgid "You need to upgrade!"
143
  msgstr ""
144
 
145
+ #: src/Tribe/Admin/Help_Page.php:489 src/Tribe/Admin/Help_Page.php:864
146
  msgid "You are up to date!"
147
  msgstr ""
148
 
149
+ #: src/Tribe/Admin/Help_Page.php:854
150
  msgid "Activate %s"
151
  msgstr ""
152
 
153
+ #: src/Tribe/Admin/Help_Page.php:854
154
  msgid "Activate Plugin"
155
  msgstr ""
156
 
157
+ #: src/Tribe/Admin/Help_Page.php:862
158
  msgid "Upgrade Plugin"
159
  msgstr ""
160
 
161
+ #: src/Tribe/Admin/Help_Page.php:878
162
  msgid "Install %s"
163
  msgstr ""
164
 
165
+ #: src/Tribe/Admin/Help_Page.php:878
166
  msgid "Install Plugin"
167
  msgstr ""
168
 
169
+ #: src/Tribe/Admin/Help_Page.php:895
170
  msgid "Latest Version:"
171
  msgstr ""
172
 
173
+ #: src/Tribe/Admin/Help_Page.php:898
174
  msgid "Requires:"
175
  msgstr ""
176
 
177
+ #: src/Tribe/Admin/Help_Page.php:899
178
  msgid "WordPress "
179
  msgstr ""
180
 
181
+ #: src/Tribe/Admin/Help_Page.php:901
182
  msgid "Active Users:"
183
  msgstr ""
184
 
185
+ #: src/Tribe/Admin/Help_Page.php:904
186
  msgid "Rating:"
187
  msgstr ""
188
 
189
+ #: src/Tribe/Admin/Help_Page.php:927
190
  msgid "Premium Add-Ons"
191
  msgstr ""
192
 
193
+ #: src/Tribe/Admin/Help_Page.php:933
194
  msgid "Plugin Active"
195
  msgstr ""
196
 
197
+ #: src/Tribe/Admin/Help_Page.php:935
198
  msgid "Plugin Inactive"
199
  msgstr ""
200
 
201
+ #: src/Tribe/Admin/Help_Page.php:940
202
  msgid "Visit the Add-on Page"
203
  msgstr ""
204
 
205
+ #: src/Tribe/Admin/Help_Page.php:964
206
  msgid "Can I have more than one calendar?"
207
  msgstr ""
208
 
209
+ #: src/Tribe/Admin/Help_Page.php:965
210
  msgid ""
211
  "No, but you can use event categories or tags to display certain events like "
212
  "having..."
213
  msgstr ""
214
 
215
+ #: src/Tribe/Admin/Help_Page.php:969
216
  msgid "What do I get with Events Calendar Pro?"
217
  msgstr ""
218
 
219
+ #: src/Tribe/Admin/Help_Page.php:970
220
  msgid "Events Calendar Pro runs alongside The Events Calendar and enhances..."
221
  msgstr ""
222
 
223
+ #: src/Tribe/Admin/Help_Page.php:974
224
  msgid "How do I sell tickets to events?"
225
  msgstr ""
226
 
227
+ #: src/Tribe/Admin/Help_Page.php:975
228
  msgid ""
229
  "Use our free Event Tickets plugin to get started with tickets and RSVPs."
230
  msgstr ""
231
 
232
+ #: src/Tribe/Admin/Help_Page.php:979
233
  msgid "Where can I find a list of available shortcodes?"
234
  msgstr ""
235
 
236
+ #: src/Tribe/Admin/Help_Page.php:980
237
  msgid ""
238
  "Our plugins include many shortcodes that do everything from embedding the "
239
  "calendar..."
240
  msgstr ""
241
 
242
+ #: src/Tribe/Admin/Help_Page.php:998
243
  msgid "Calendar widget areas"
244
  msgstr ""
245
 
246
+ #: src/Tribe/Admin/Help_Page.php:999
247
  msgid ""
248
  "This extension creates a useful variety of WordPress widget areas (a.k.a. "
249
  "sidebars)."
250
  msgstr ""
251
 
252
+ #: src/Tribe/Admin/Help_Page.php:1004
253
  msgid "Event block patterns"
254
  msgstr ""
255
 
256
+ #: src/Tribe/Admin/Help_Page.php:1005
257
  msgid ""
258
  "This extension adds a set of block patterns for events to the WordPress "
259
  "block editor."
260
  msgstr ""
261
 
262
+ #: src/Tribe/Admin/Help_Page.php:1010
263
  msgid "Alternative photo view"
264
  msgstr ""
265
 
266
+ #: src/Tribe/Admin/Help_Page.php:1011
267
  msgid ""
268
  "This extension replaces photo view with a tiled grid of cards featuring "
269
  "event images."
270
  msgstr ""
271
 
272
+ #: src/Tribe/Admin/Help_Page.php:1016
273
  msgid "The Events Calendar Tweaks"
274
  msgstr ""
275
 
276
+ #: src/Tribe/Admin/Help_Page.php:1017
277
  msgid ""
278
  "This extension is a collection of tweaks and snippets for The Events "
279
  "Calendar."
280
  msgstr ""
281
 
282
+ #: src/Tribe/Admin/Help_Page.php:1054
283
  msgid "How Do I create events with Tickets or RSVP’s?"
284
  msgstr ""
285
 
286
+ #: src/Tribe/Admin/Help_Page.php:1055
287
  msgid ""
288
  "We’ve put together a video tutorial showing how to create events with "
289
  "Tickets using our plugins. Click on the link in the link in the title to "
290
  "learn more."
291
  msgstr ""
292
 
293
+ #: src/Tribe/Admin/Help_Page.php:1059
294
  msgid "How Do I Set Up E-Commerce Plugins for Selling Tickets?"
295
  msgstr ""
296
 
297
+ #: src/Tribe/Admin/Help_Page.php:1060
298
  msgid ""
299
  "You can sell tickets using our built-in e-commerce option, or upgrade to "
300
  "Event Tickets Plus to use ecommerce plugins such as WooCommerce."
301
  msgstr ""
302
 
303
+ #: src/Tribe/Admin/Help_Page.php:1064
304
  msgid "Can I have a seating chart associated with my tickets?"
305
  msgstr ""
306
 
307
+ #: src/Tribe/Admin/Help_Page.php:1065
308
  msgid ""
309
  "Yes! You can easily accomplish this task using the stock options and "
310
  "multiple ticket types available with Event Tickets."
311
  msgstr ""
312
 
313
+ #: src/Tribe/Admin/Help_Page.php:1069
314
  msgid "How do I process refunds for tickets?"
315
  msgstr ""
316
 
317
+ #: src/Tribe/Admin/Help_Page.php:1070
318
  msgid ""
319
  "When it comes to paid tickets, these orders can be refunded through the e-"
320
  "commerce platform in use."
321
  msgstr ""
322
 
323
+ #: src/Tribe/Admin/Help_Page.php:1088
324
  msgid "Ticket Email Settings"
325
  msgstr ""
326
 
327
+ #: src/Tribe/Admin/Help_Page.php:1089
328
  msgid ""
329
  "Adds a new settings panel in Events > Settings that gives more control over "
330
  "the ticket and rsvp emails that are sent to attendees after registration."
331
  msgstr ""
332
 
333
+ #: src/Tribe/Admin/Help_Page.php:1094
334
  msgid "Per Event Check In API"
335
  msgstr ""
336
 
337
+ #: src/Tribe/Admin/Help_Page.php:1095
338
  msgid ""
339
  "This extension shows a meta box with an API key on each Event with Ticket/"
340
  "RSVP."
341
  msgstr ""
342
 
343
+ #: src/Tribe/Admin/Help_Page.php:1100
344
  msgid "Add Event & Attendee Info to WooCommerce Order Details"
345
  msgstr ""
346
 
347
+ #: src/Tribe/Admin/Help_Page.php:1101
348
  msgid ""
349
  "Displays the information collected by “attendee meta fields” in the "
350
  "WooCommerce order screens as well."
351
  msgstr ""
352
 
353
+ #: src/Tribe/Admin/Help_Page.php:1106
354
  msgid "Organizer Notification Email"
355
  msgstr ""
356
 
357
+ #: src/Tribe/Admin/Help_Page.php:1107
358
  msgid ""
359
  "This extension will send an email to event organizers whenever a user "
360
  "registers for their event."
361
  msgstr ""
362
 
363
+ #: src/Tribe/Admin/Help_Page.php:1144
364
  msgid "Add Cost Currency Symbol"
365
  msgstr ""
366
 
367
+ #: src/Tribe/Admin/Help_Page.php:1145
368
  msgid ""
369
  "This extension allows you to set default currency symbols for your users to "
370
  "choose from instead of having a plain text field."
371
  msgstr ""
372
 
373
+ #: src/Tribe/Admin/Help_Page.php:1150
374
  msgid "Add Google Maps Display and Link Options"
375
  msgstr ""
376
 
377
+ #: src/Tribe/Admin/Help_Page.php:1151
378
  msgid ""
379
  "This extension adds the “Show Google Maps” and “Show Google Maps Link” "
380
  "checkboxes when creating a new Venue."
381
  msgstr ""
382
 
383
+ #: src/Tribe/Admin/Help_Page.php:1156
384
  msgid "Hide Others’ Organizers and Venues"
385
  msgstr ""
386
 
387
+ #: src/Tribe/Admin/Help_Page.php:1157
388
  msgid ""
389
  "This extension allows you to hide the Organizers and Venues that a visitor "
390
  "has not created from the Community Events submission form."
391
  msgstr ""
392
 
393
+ #: src/Tribe/Admin/Help_Page.php:1162
394
  msgid "Display Custom HTML"
395
  msgstr ""
396
 
397
+ #: src/Tribe/Admin/Help_Page.php:1163
398
  msgid ""
399
  "This extension allows you to add custom HTML content to the top of the "
400
  "Community Events submission form."
461
  msgid "Read more."
462
  msgstr ""
463
 
 
464
  #: src/Tribe/Admin/Troubleshooting.php:66
465
+ #: src/Tribe/Admin/Troubleshooting.php:67
466
+ #: src/Tribe/Admin/Troubleshooting.php:142
467
  #: src/admin-views/troubleshooting/introduction.php:21
468
  msgid "Troubleshooting"
469
  msgstr ""
470
 
471
+ #: src/Tribe/Admin/Troubleshooting.php:297
472
  msgid "Site time zone uses UTC"
473
  msgstr ""
474
 
475
+ #: src/Tribe/Admin/Troubleshooting.php:298
476
  msgid ""
477
  "When using The Events Calendar, we highly recommend that you use a "
478
  "geographic timezone such as \"America/Los_Angeles\" and avoid using a UTC "
482
  "timezone."
483
  msgstr ""
484
 
485
+ #: src/Tribe/Admin/Troubleshooting.php:300
486
  msgid "Adjust your timezone"
487
  msgstr ""
488
 
489
+ #: src/Tribe/Admin/Troubleshooting.php:305
490
  msgid "Install max has been reached"
491
  msgstr ""
492
 
493
+ #: src/Tribe/Admin/Troubleshooting.php:306
494
  msgid ""
495
  "License keys can only be used on a limited number of sites, which varies "
496
  "depending on your license level. You'll need to remove the license from one "
497
  "or more other site's in order to use it on this one."
498
  msgstr ""
499
 
500
+ #: src/Tribe/Admin/Troubleshooting.php:308
501
  msgid "Manage your licenses"
502
  msgstr ""
503
 
504
+ #: src/Tribe/Admin/Troubleshooting.php:313
505
  msgid "Default Google Maps API key"
506
  msgstr ""
507
 
508
+ #: src/Tribe/Admin/Troubleshooting.php:314
509
  msgid ""
510
  "The Events Calendar comes with an API key for basic maps functionality. If "
511
  "you’d like to use more advanced features like custom map pins, dynamic map "
514
  "Settings > Integrations"
515
  msgstr ""
516
 
517
+ #: src/Tribe/Admin/Troubleshooting.php:316
518
  msgid "Enter a custom API key"
519
  msgstr ""
520
 
521
+ #: src/Tribe/Admin/Troubleshooting.php:321
522
  msgid "Plugin(s) are out of date"
523
  msgstr ""
524
 
525
+ #: src/Tribe/Admin/Troubleshooting.php:322
526
  msgid ""
527
  "It's important to use the most recent versions of our plugins so that you "
528
  "have access to the latest features, bug fixes, and security updates. Plugin "
530
  "matched versions."
531
  msgstr ""
532
 
533
+ #: src/Tribe/Admin/Troubleshooting.php:324
534
  msgid "Check for updates"
535
  msgstr ""
536
 
537
+ #: src/Tribe/Admin/Troubleshooting.php:343
538
  msgid "Common Error Messages"
539
  msgstr ""
540
 
541
+ #: src/Tribe/Admin/Troubleshooting.php:344
542
  msgid "Here’s an overview of %s and what they mean."
543
  msgstr ""
544
 
545
+ #: src/Tribe/Admin/Troubleshooting.php:349
546
  msgid "My calendar doesn’t look right."
547
  msgstr ""
548
 
549
+ #: src/Tribe/Admin/Troubleshooting.php:350
550
  msgid "This can happen when other plugins try to improve performance. %s."
551
  msgstr ""
552
 
553
+ #: src/Tribe/Admin/Troubleshooting.php:355
554
  msgid "I installed the calendar and it crashed my site."
555
  msgstr ""
556
 
557
+ #: src/Tribe/Admin/Troubleshooting.php:356
558
  msgid "%s and other common installation issues."
559
  msgstr ""
560
 
561
+ #: src/Tribe/Admin/Troubleshooting.php:361
562
  msgid "I keep getting “Page Not Found” on events."
563
  msgstr ""
564
 
565
+ #: src/Tribe/Admin/Troubleshooting.php:362
566
  msgid "There are a few %s to resolve and prevent 404 errors."
567
  msgstr ""
568
 
2202
  msgid "Action-based Logger"
2203
  msgstr ""
2204
 
2205
+ #: src/Tribe/Log/Admin.php:146
2206
  msgctxt "log selector"
2207
  msgid "None currently available"
2208
  msgstr ""
2209
 
2210
+ #: src/Tribe/Log/Admin.php:161
2211
  msgctxt "log engines"
2212
  msgid "None currently available"
2213
  msgstr ""
2240
  msgid "Full debug (all events)"
2241
  msgstr ""
2242
 
2243
+ #: src/Tribe/Main.php:354
2244
  msgid ": activate to sort column ascending"
2245
  msgstr ""
2246
 
2247
+ #: src/Tribe/Main.php:355
2248
  msgid ": activate to sort column descending"
2249
  msgstr ""
2250
 
2251
+ #: src/Tribe/Main.php:357
2252
  msgid "Show _MENU_ entries"
2253
  msgstr ""
2254
 
2255
+ #: src/Tribe/Main.php:358
2256
  msgid "No data available in table"
2257
  msgstr ""
2258
 
2259
+ #: src/Tribe/Main.php:359
2260
  msgid "Showing _START_ to _END_ of _TOTAL_ entries"
2261
  msgstr ""
2262
 
2263
+ #: src/Tribe/Main.php:360
2264
  msgid "Showing 0 to 0 of 0 entries"
2265
  msgstr ""
2266
 
2267
+ #: src/Tribe/Main.php:361
2268
  msgid "(filtered from _MAX_ total entries)"
2269
  msgstr ""
2270
 
2271
+ #: src/Tribe/Main.php:362
2272
  msgid "No matching records found"
2273
  msgstr ""
2274
 
2275
+ #: src/Tribe/Main.php:363
2276
  msgid "Search:"
2277
  msgstr ""
2278
 
2279
+ #: src/Tribe/Main.php:364
2280
  msgid "All items on this page were selected. "
2281
  msgstr ""
2282
 
2283
+ #: src/Tribe/Main.php:365
2284
  msgid "Select all pages"
2285
  msgstr ""
2286
 
2287
+ #: src/Tribe/Main.php:366
2288
  msgid "Clear Selection."
2289
  msgstr ""
2290
 
2291
+ #: src/Tribe/Main.php:368
2292
  msgid "All"
2293
  msgstr ""
2294
 
2295
+ #: src/Tribe/Main.php:369 src/Tribe/Main.php:386
2296
  msgid "Next"
2297
  msgstr ""
2298
 
2299
+ #: src/Tribe/Main.php:370
2300
  msgid "Previous"
2301
  msgstr ""
2302
 
2303
+ #: src/Tribe/Main.php:375
2304
  msgid ": Selected %d rows"
2305
  msgstr ""
2306
 
2307
+ #: src/Tribe/Main.php:376
2308
  msgid ": Selected 1 row"
2309
  msgstr ""
2310
 
2311
+ #: src/Tribe/Main.php:387
2312
  msgid "Prev"
2313
  msgstr ""
2314
 
2315
+ #: src/Tribe/Main.php:388 src/Tribe/Main.php:390
2316
  msgid "Today"
2317
  msgstr ""
2318
 
2319
+ #: src/Tribe/Main.php:389
2320
  msgid "Done"
2321
  msgstr ""
2322
 
2323
+ #: src/Tribe/Main.php:391
2324
  msgid "Clear"
2325
  msgstr ""
2326
 
2327
+ #: src/Tribe/PUE/Checker.php:605
2328
  msgid "A valid license key is required for support and updates"
2329
  msgstr ""
2330
 
2331
+ #: src/Tribe/PUE/Checker.php:608
2332
  msgid ""
2333
  "%1$sBuy a license%2$s for the Event Aggregator service to access additional "
2334
  "import features."
2335
  msgstr ""
2336
 
2337
+ #: src/Tribe/PUE/Checker.php:620 src/Tribe/PUE/Checker.php:631
2338
  #: src/admin-views/troubleshooting/ea-status/license-key.php:44
2339
  msgid "License Key"
2340
  msgstr ""
2341
 
2342
+ #: src/Tribe/PUE/Checker.php:640 src/Tribe/PUE/Checker.php:674
2343
  msgid "License Key Status:"
2344
  msgstr ""
2345
 
2346
+ #: src/Tribe/PUE/Checker.php:649
2347
  msgid "Override network license key"
2348
  msgstr ""
2349
 
2350
+ #: src/Tribe/PUE/Checker.php:650
2351
  msgid ""
2352
  "Check this box if you wish to override the network license key with your own"
2353
  msgstr ""
2354
 
2355
+ #: src/Tribe/PUE/Checker.php:661
2356
  msgid "Site License Key"
2357
  msgstr ""
2358
 
2359
+ #: src/Tribe/PUE/Checker.php:761
2360
  msgid "License key(s) updated."
2361
  msgstr ""
2362
 
2363
+ #: src/Tribe/PUE/Checker.php:1015
2364
  msgid ""
2365
  "Hmmm... something's wrong with this validator. Please contact %ssupport%s."
2366
  msgstr ""
2367
 
2368
+ #: src/Tribe/PUE/Checker.php:1028
2369
  msgid "unknown date"
2370
  msgstr ""
2371
 
2372
+ #: src/Tribe/PUE/Checker.php:1034
2373
  msgid "Sorry, key validation server is not available."
2374
  msgstr ""
2375
 
2376
+ #: src/Tribe/PUE/Checker.php:1054
2377
  msgid "Valid Key! Expires on %s"
2378
  msgstr ""
2379
 
2380
+ #: src/Tribe/PUE/Checker.php:1059
2381
  msgid "Thanks for setting up a valid key. It will expire on %s"
2382
  msgstr ""
2383
 
2384
+ #: src/Tribe/PUE/Checker.php:1088 src/Tribe/PUE/Notices.php:342
2385
  msgid "Renew Your License Now"
2386
  msgstr ""
2387
 
2388
+ #: src/Tribe/PUE/Checker.php:1090 src/Tribe/PUE/Notices.php:344
2389
  msgid " (opens in a new window)"
2390
  msgstr ""
2391
 
2392
+ #: src/Tribe/PUE/Checker.php:1107
2393
  msgid "Please refresh the page and try your request again."
2394
  msgstr ""
2395
 
2396
+ #: src/Tribe/PUE/Checker.php:1127
2397
  msgid ""
2398
  "There is an update for %s. You'll need to %scheck your license%s to have "
2399
  "access to updates, downloads, and support."
2400
  msgstr ""
2401
 
2402
+ #: src/Tribe/PUE/Checker.php:1184
2403
  msgid ""
2404
  "There is an update for %s. %sRenew your license%s to get access to bug "
2405
  "fixes, security updates, and new features."
2406
  msgstr ""
2407
 
2408
+ #: src/Tribe/PUE/Checker.php:1214
2409
  msgid "Update now to version %s."
2410
  msgstr ""
2411
 
2412
+ #: src/Tribe/PUE/Checker.php:1225
2413
  msgid "There is a new version of %1$s available. %2$s"
2414
  msgstr ""
2415
 
2416
+ #: src/Tribe/PUE/Checker.php:1806
2417
  msgid "A valid license has been entered by your network administrator."
2418
  msgstr ""
2419
 
2420
+ #: src/Tribe/PUE/Checker.php:1807
2421
  msgid "No license entered. Consult your network administrator."
2422
  msgstr ""
2423
 
2424
+ #: src/Tribe/PUE/Checker.php:1808
2425
  msgid "Expired license. Consult your network administrator."
2426
  msgstr ""
2427
 
2787
  msgid "Got it"
2788
  msgstr ""
2789
 
2790
+ #: src/Tribe/Settings.php:200
 
2791
  msgid "Events"
2792
  msgstr ""
2793
 
2794
+ #. Translators: %s is the name of the menu item.
2795
+ #: src/Tribe/Settings.php:331
 
 
 
 
 
 
 
 
 
 
 
2796
  msgid "%s Settings"
2797
  msgstr ""
2798
 
2799
+ #: src/Tribe/Settings.php:375
2800
  msgid "You've requested a non-existent tab."
2801
  msgstr ""
2802
 
2803
+ #: src/Tribe/Settings.php:383
2804
  msgid "Save Changes"
2805
  msgstr ""
2806
 
2807
+ #: src/Tribe/Settings.php:453
2808
  msgid "You don't have permission to do that."
2809
  msgstr ""
2810
 
2811
+ #: src/Tribe/Settings.php:459
2812
  msgid "The request was sent insecurely."
2813
  msgstr ""
2814
 
2815
+ #: src/Tribe/Settings.php:465
2816
  msgid "The request wasn't sent from this tab."
2817
  msgstr ""
2818
 
2819
+ #: src/Tribe/Settings.php:646
2820
  msgid "Your form had the following errors:"
2821
  msgstr ""
2822
 
2823
+ #: src/Tribe/Settings.php:656
2824
  msgid "None of your settings were saved. Please try again."
2825
  msgstr ""
2826
 
2827
+ #: src/Tribe/Settings.php:657
2828
  msgid ""
2829
  "The above setting was not saved. Other settings were successfully saved."
2830
  msgid_plural ""
2832
  msgstr[0] ""
2833
  msgstr[1] ""
2834
 
2835
+ #: src/Tribe/Settings.php:678
2836
  msgid "Settings saved."
2837
  msgstr ""
2838
 
2839
+ #: src/Tribe/Settings_Manager.php:297
 
 
 
 
 
 
 
 
 
 
 
 
2840
  #: src/admin-views/tribe-options-licenses.php:57
2841
  msgid "Licenses"
2842
  msgstr ""
2843
 
2844
+ #: src/Tribe/Settings_Manager.php:327 src/admin-views/help.php:30
2845
  msgid "Help"
2846
  msgstr ""
2847
 
3037
  #: src/admin-views/app-shop.php:30
3038
  #: src/admin-views/conditional_content/black-friday.php:16
3039
  #: src/admin-views/conditional_content/end-of-year-sale.php:16
3040
+ #: src/admin-views/help.php:27 src/admin-views/help.php:86
3041
  #: src/admin-views/troubleshooting/footer-logo.php:12
3042
  #: src/admin-views/troubleshooting/introduction.php:19
3043
  msgid "The Events Calendar brand logo"
3383
  msgid "Community"
3384
  msgstr ""
3385
 
3386
+ #: src/admin-views/help.php:67
3387
  #: src/admin-views/troubleshooting/support-cta.php:13
3388
  msgid "Graphic with an electrical plug and gears"
3389
  msgstr ""
3390
 
3391
+ #: src/admin-views/help.php:72
3392
  msgid "Need additional support?"
3393
  msgstr ""
3394
 
3395
+ #: src/admin-views/help.php:77
3396
  msgid "Visit Troubleshooting next"
3397
  msgstr ""
3398
 
3672
  msgid "Licenses for Multisites"
3673
  msgstr ""
3674
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3675
  #: src/admin-views/troubleshooting/common-issues.php:14
3676
  msgid "Common Problems"
3677
  msgstr ""
3868
  "resources to get you back on track."
3869
  msgstr ""
3870
 
3871
+ #: src/admin-views/troubleshooting/notice.php:12
3872
  msgid "Help page?"
3873
  msgstr ""
3874
 
3875
+ #: src/admin-views/troubleshooting/notice.php:17
3876
  msgid "Hey there... did you check out the %s"
3877
  msgstr ""
3878
 
common/src/Tribe/Admin/Activation_Page.php CHANGED
@@ -27,6 +27,8 @@ class Tribe__Admin__Activation_Page {
27
  public function __construct( array $args = [] ) {
28
  $this->args = wp_parse_args( $args, [
29
  'slug' => '',
 
 
30
  'activation_transient' => '',
31
  'version' => '',
32
  'plugin_path' => '',
@@ -77,7 +79,7 @@ class Tribe__Admin__Activation_Page {
77
  }
78
 
79
  add_action( 'admin_init', [ $this, 'maybe_redirect' ], 10, 0 );
80
- add_action( 'admin_menu', [ $this, 'register_page' ], 100, 0 ); // come in after the default page is registered
81
 
82
  add_action( 'update_plugin_complete_actions', [ $this, 'update_complete_actions' ], 15, 2 );
83
  add_action( 'update_bulk_plugins_complete_actions', [ $this, 'update_complete_actions' ], 15, 2 );
@@ -123,7 +125,7 @@ class Tribe__Admin__Activation_Page {
123
  */
124
  public function maybe_redirect() {
125
  if ( ! empty( $_POST ) ) {
126
- return; // don't interrupt anything the user's trying to do
127
  }
128
 
129
  if ( ! is_admin() || defined( 'DOING_AJAX' ) ) {
@@ -131,18 +133,18 @@ class Tribe__Admin__Activation_Page {
131
  }
132
 
133
  if ( defined( 'IFRAME_REQUEST' ) && IFRAME_REQUEST ) {
134
- return; // probably the plugin update/install iframe
135
  }
136
 
137
  if ( isset( $_GET[ $this->welcome_slug ] ) || isset( $_GET[ $this->update_slug ] ) ) {
138
- return; // no infinite redirects
139
  }
140
 
141
  if ( isset( $_GET['tribe-skip-welcome'] ) ) {
142
- return; // a way to skip these checks and
143
  }
144
 
145
- // bail if we aren't activating a plugin
146
  if ( ! get_transient( $this->args['activation_transient'] ) ) {
147
  return;
148
  }
@@ -240,12 +242,11 @@ class Tribe__Admin__Activation_Page {
240
  */
241
  protected function get_message_page_url( $slug ) {
242
  $settings = Tribe__Settings::instance();
243
- // get the base settings page url
244
- $url = apply_filters(
245
- 'tribe_settings_url',
246
- add_query_arg( 'page', $settings->adminSlug, admin_url( 'edit.php' ) )
247
- );
248
  $url = esc_url_raw( add_query_arg( $slug, 1, $url ) );
 
249
  return $url;
250
  }
251
 
@@ -263,7 +264,7 @@ class Tribe__Admin__Activation_Page {
263
 
264
  $this->disable_default_settings_page();
265
  add_filter( 'admin_body_class', [ $this, 'admin_body_class' ] );
266
- add_action( Tribe__Settings::instance()->admin_page, [ $this, 'display_page' ] );
267
  }
268
 
269
  /**
@@ -283,7 +284,7 @@ class Tribe__Admin__Activation_Page {
283
  * in the Events > Settings slot instead, for this request only).
284
  */
285
  protected function disable_default_settings_page() {
286
- remove_action( Tribe__Settings::instance()->admin_page, [ Tribe__Settings::instance(), 'generatePage' ] );
287
  }
288
 
289
  /**
27
  public function __construct( array $args = [] ) {
28
  $this->args = wp_parse_args( $args, [
29
  'slug' => '',
30
+ 'admin_page' => '',
31
+ 'admin_url' => '',
32
  'activation_transient' => '',
33
  'version' => '',
34
  'plugin_path' => '',
79
  }
80
 
81
  add_action( 'admin_init', [ $this, 'maybe_redirect' ], 10, 0 );
82
+ add_action( 'admin_menu', [ $this, 'register_page' ], 100, 0 ); // Come in after the default page is registered.
83
 
84
  add_action( 'update_plugin_complete_actions', [ $this, 'update_complete_actions' ], 15, 2 );
85
  add_action( 'update_bulk_plugins_complete_actions', [ $this, 'update_complete_actions' ], 15, 2 );
125
  */
126
  public function maybe_redirect() {
127
  if ( ! empty( $_POST ) ) {
128
+ return; // Don't interrupt anything the user's trying to do.
129
  }
130
 
131
  if ( ! is_admin() || defined( 'DOING_AJAX' ) ) {
133
  }
134
 
135
  if ( defined( 'IFRAME_REQUEST' ) && IFRAME_REQUEST ) {
136
+ return; // Probably the plugin update/install iframe.
137
  }
138
 
139
  if ( isset( $_GET[ $this->welcome_slug ] ) || isset( $_GET[ $this->update_slug ] ) ) {
140
+ return; // No infinite redirects.
141
  }
142
 
143
  if ( isset( $_GET['tribe-skip-welcome'] ) ) {
144
+ return; // A way to skip these checks and.
145
  }
146
 
147
+ // Bail if we aren't activating a plugin.
148
  if ( ! get_transient( $this->args['activation_transient'] ) ) {
149
  return;
150
  }
242
  */
243
  protected function get_message_page_url( $slug ) {
244
  $settings = Tribe__Settings::instance();
245
+
246
+ $url = ! empty( $this->args['admin_url'] ) ? $this->args['admin_url'] : $settings->get_url();
247
+
 
 
248
  $url = esc_url_raw( add_query_arg( $slug, 1, $url ) );
249
+
250
  return $url;
251
  }
252
 
264
 
265
  $this->disable_default_settings_page();
266
  add_filter( 'admin_body_class', [ $this, 'admin_body_class' ] );
267
+ add_action( $this->args['admin_page'], [ $this, 'display_page' ] );
268
  }
269
 
270
  /**
284
  * in the Events > Settings slot instead, for this request only).
285
  */
286
  protected function disable_default_settings_page() {
287
+ remove_action( $this->args['admin_page'], [ Tribe__Settings::instance(), 'generatePage' ] );
288
  }
289
 
290
  /**
common/src/Tribe/Admin/Help_Page.php CHANGED
@@ -21,6 +21,33 @@ class Tribe__Admin__Help_Page {
21
  return tribe( static::class );
22
  }
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  /**
25
  * Checks if the current page is the Help one
26
  *
@@ -29,7 +56,14 @@ class Tribe__Admin__Help_Page {
29
  * @return bool
30
  */
31
  public function is_current_page() {
32
- return Tribe__Admin__Helpers::instance()->is_screen( 'tribe_events_page_tribe-help' ) || Tribe__Admin__Helpers::instance()->is_screen( 'settings_page_tribe-common-help-network' );
 
 
 
 
 
 
 
33
  }
34
 
35
  /**
21
  return tribe( static::class );
22
  }
23
 
24
+ /**
25
+ * Set up hooks.
26
+ *
27
+ * @since 4.15.0
28
+ */
29
+ public function hook() {
30
+ add_filter( 'admin_body_class', [ $this, 'admin_body_class' ] );
31
+ }
32
+
33
+ /**
34
+ * Hooked to admin_body_class to add a class for help page.
35
+ *
36
+ * @since 4.15.0
37
+ *
38
+ * @param string $classes A space separated string of classes to be added to body.
39
+ *
40
+ * @return string $classes A space separated string of classes to be added to body.
41
+ */
42
+ public function admin_body_class( $classes ) {
43
+ if ( ! $this->is_current_page() ) {
44
+ return $classes;
45
+ }
46
+
47
+ $classes .= ' tribe-help tec-help';
48
+ return $classes;
49
+ }
50
+
51
  /**
52
  * Checks if the current page is the Help one
53
  *
56
  * @return bool
57
  */
58
  public function is_current_page() {
59
+ global $current_screen;
60
+
61
+ $help_pages = [
62
+ 'tribe_events_page_tec-events-help',
63
+ 'tickets_page_tec-tickets-help',
64
+ ];
65
+
66
+ return in_array( $current_screen->id, $help_pages );
67
  }
68
 
69
  /**
common/src/Tribe/Admin/Helpers.php CHANGED
@@ -119,12 +119,12 @@ class Tribe__Admin__Helpers {
119
  return false;
120
  }
121
 
122
- // Avoid Notices by checking the object type of WP_Screen
123
  if ( ! $this->is_wp_screen() ) {
124
  return false;
125
  }
126
 
127
- // Match any screen from Tribe
128
  if ( is_null( $id ) && false !== strpos( $current_screen->id, 'tribe' ) ) {
129
  return true;
130
  }
@@ -139,12 +139,12 @@ class Tribe__Admin__Helpers {
139
  return true;
140
  }
141
 
142
- // Match a specific page
143
  if ( $current_screen->id === $id ) {
144
  return true;
145
  }
146
 
147
- // Match any post type page in the supported post types
148
  $defaults = apply_filters( 'tribe_is_post_type_screen_post_types', Tribe__Main::get_post_types() );
149
  if ( in_array( $current_screen->post_type, $defaults ) ) {
150
  return true;
119
  return false;
120
  }
121
 
122
+ // Avoid Notices by checking the object type of WP_Screen.
123
  if ( ! $this->is_wp_screen() ) {
124
  return false;
125
  }
126
 
127
+ // Match any screen from Tribe.
128
  if ( is_null( $id ) && false !== strpos( $current_screen->id, 'tribe' ) ) {
129
  return true;
130
  }
139
  return true;
140
  }
141
 
142
+ // Match a specific page.
143
  if ( $current_screen->id === $id ) {
144
  return true;
145
  }
146
 
147
+ // Match any post type page in the supported post types.
148
  $defaults = apply_filters( 'tribe_is_post_type_screen_post_types', Tribe__Main::get_post_types() );
149
  if ( in_array( $current_screen->post_type, $defaults ) ) {
150
  return true;
common/src/Tribe/Admin/Pages.php ADDED
@@ -0,0 +1,309 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Tribe\Admin;
3
+
4
+ /**
5
+ * Class Pages.
6
+ *
7
+ * @since 4.15.0
8
+ */
9
+ class Pages {
10
+ /**
11
+ * Current page ID (or false if not registered with this controller).
12
+ *
13
+ * @since 4.15.0
14
+ *
15
+ * @var string|null
16
+ */
17
+ private $current_page = null;
18
+
19
+ /**
20
+ * Registered pages
21
+ * Contains information (breadcrumbs, menu info) about TEC admin pages.
22
+ *
23
+ * @since 4.15.0
24
+ *
25
+ * @var array<string,mixed>
26
+ */
27
+ private $pages = [];
28
+
29
+ /**
30
+ * Get registered pages.
31
+ *
32
+ * @since 4.15.0
33
+ *
34
+ * @return array $pages {
35
+ * Array containing the registered pages.
36
+ *
37
+ * @type array $page_id {
38
+ * @type string id Id to reference the page.
39
+ * @type array title Page title. Used in menus and breadcrumbs.
40
+ * @type string|null parent Parent ID. Null for new top level page.
41
+ * @type string path Path for this page, full path in app context; ex /analytics/report
42
+ * @type string capability Capability needed to access the page.
43
+ * @type string icon Icon. Dashicons helper class, base64-encoded SVG, or 'none'.
44
+ * @type int position Menu item position.
45
+ * @type int order Navigation item order.
46
+ * @type callable callback The function to be called to output the content for the page.
47
+ * }
48
+ * }
49
+ */
50
+ public function get_pages() {
51
+ /**
52
+ * Filters the list of registered TEC admin pages.
53
+ *
54
+ * @since 4.15.0
55
+ *
56
+ * @param array $pages {
57
+ * Array containing the registered pages to be filtered
58
+ *
59
+ * @type array $page_id {
60
+ * @type string id Id to reference the page.
61
+ * @type array title Page title. Used in menus and breadcrumbs.
62
+ * @type string|null parent Parent ID. Null for new top level page.
63
+ * @type string path Path for this page, full path in app context; ex /analytics/report
64
+ * @type string capability Capability needed to access the page.
65
+ * @type string icon Icon. Dashicons helper class, base64-encoded SVG, or 'none'.
66
+ * @type int position Menu item position.
67
+ * @type int order Navigation item order.
68
+ * @type callable callback The function to be called to output the content for the page.
69
+ * }
70
+ * }
71
+ */
72
+ $pages = apply_filters( 'tec_admin_pages', $this->pages );
73
+
74
+ return $pages;
75
+ }
76
+
77
+ /**
78
+ * Adds a page to `tec-admin`.
79
+ *
80
+ * @since 4.15.0
81
+ *
82
+ * @param array $options {
83
+ * Array describing the page.
84
+ *
85
+ * @type string id Id to reference the page.
86
+ * @type string title Page title. Used in menus and breadcrumbs.
87
+ * @type string|null parent Parent ID. Null for new top level page.
88
+ * @type string path Path for this page, full path in app context; ex /analytics/report
89
+ * @type string capability Capability needed to access the page.
90
+ * @type string icon Icon. Dashicons helper class, base64-encoded SVG, or 'none'.
91
+ * @type int position Menu item position.
92
+ * @type int order Navigation item order.
93
+ * @type callable callback The function to be called to output the content for the page.
94
+ * }
95
+ *
96
+ * @return string $page The resulting page's hook_suffix.
97
+ *
98
+ */
99
+ public function register_page( $options = [] ) {
100
+ $defaults = [
101
+ 'id' => null,
102
+ 'parent' => null,
103
+ 'title' => '',
104
+ 'capability' => self::get_capability(),
105
+ 'path' => '',
106
+ 'icon' => '',
107
+ 'position' => null,
108
+ 'callback' => [ __CLASS__, 'render_page' ],
109
+ ];
110
+
111
+ $options = wp_parse_args( $options, $defaults );
112
+
113
+ if ( is_null( $options['parent'] ) ) {
114
+ $page = add_menu_page(
115
+ $options['title'],
116
+ $options['title'],
117
+ $options['capability'],
118
+ $options['path'],
119
+ $options['callback'],
120
+ $options['icon'],
121
+ $options['position']
122
+ );
123
+ } else {
124
+ $page = add_submenu_page(
125
+ $options['parent'],
126
+ $options['title'],
127
+ $options['title'],
128
+ $options['capability'],
129
+ $options['path'],
130
+ $options['callback']
131
+ );
132
+ }
133
+
134
+ $this->connect_page( $options );
135
+
136
+ return $page;
137
+ }
138
+
139
+ /**
140
+ * Get the current page.
141
+ *
142
+ * @since 4.15.0
143
+ *
144
+ * @return string|boolean Current page or false if not registered with this controller.
145
+ */
146
+ public function get_current_page() {
147
+ if ( is_null( $this->current_page ) ) {
148
+ $this->determine_current_page();
149
+ }
150
+
151
+ return $this->current_page;
152
+ }
153
+
154
+ /**
155
+ * Determine the current page.
156
+ *
157
+ * @since 4.15.0
158
+ *
159
+ * @return string|boolean Current page or false if not registered with this controller.
160
+ */
161
+ public function determine_current_page() {
162
+ $current_screen = get_current_screen();
163
+
164
+ if ( is_null( $current_screen ) ) {
165
+ $this->current_page = tribe_get_request_var( 'page' );
166
+ return $this->current_page;
167
+ }
168
+
169
+ $this->current_page = $current_screen->id;
170
+
171
+ return $this->current_page;
172
+ }
173
+
174
+ /**
175
+ * Connect an existing page to wp-admin.
176
+ *
177
+ * @since 4.15.0
178
+ *
179
+ * @param array $options {
180
+ * Array describing the page.
181
+ *
182
+ * @type string id Id to reference the page.
183
+ * @type string|array title Page title. Used in menus and breadcrumbs.
184
+ * @type string|null parent Parent ID. Null for new top level page.
185
+ * @type string path Path for this page. E.g. admin.php?page=wc-settings&tab=checkout
186
+ * @type string capability Capability needed to access the page.
187
+ * @type string icon Icon. Dashicons helper class, base64-encoded SVG, or 'none'.
188
+ * @type int position Menu item position.
189
+ * }
190
+ */
191
+ public function connect_page( $options = [] ) {
192
+ if ( ! is_array( $options['title'] ) ) {
193
+ $options['title'] = array( $options['title'] );
194
+ }
195
+
196
+ /**
197
+ * Filter the options when connecting or registering a page.
198
+ *
199
+ * @param array $options {
200
+ * Array describing the page.
201
+ *
202
+ * @type string id Id to reference the page.
203
+ * @type string|array title Page title. Used in menus and breadcrumbs.
204
+ * @type string|null parent Parent ID. Null for new top level page.
205
+ * @type string screen_id The screen ID that represents the connected page. (Not required for registering).
206
+ * @type string path Path for this page. E.g. admin.php?page=wc-settings&tab=checkout
207
+ * @type string capability Capability needed to access the page.
208
+ * @type string icon Icon. Dashicons helper class, base64-encoded SVG, or 'none'.
209
+ * @type int position Menu item position.
210
+ * @type boolean js_page If this is a JS-powered page.
211
+ * }
212
+ */
213
+ $options = apply_filters( 'tec_admin_pages_connect_page_options', $options );
214
+
215
+ $this->pages[ $options['id'] ] = $options;
216
+ }
217
+
218
+ /**
219
+ * Get the capability.
220
+ *
221
+ * @param string $capability The capability required for a TEC page to be displayed to the user.
222
+ *
223
+ * @since 4.15.0
224
+ *
225
+ * @return string The capability required for a TEC page to be displayed to the user.
226
+ */
227
+ public static function get_capability( $capability = 'manage_options' ) {
228
+ /**
229
+ * Filters the default capability for Tribe admin pages.
230
+ *
231
+ * @param string $capability The capability required for a TEC page to be displayed to the user.
232
+ *
233
+ * @todo: We'll need to deprecate this one in favor of the one below.
234
+ */
235
+ $capability = apply_filters( 'tribe_common_event_page_capability', $capability );
236
+
237
+ /**
238
+ * Filters the default capability for TEC admin pages.
239
+ *
240
+ * @param string $capability The capability required for a TEC page to be displayed to the user.
241
+ *
242
+ * @since 4.15.0
243
+ */
244
+ $capability = apply_filters( 'tec_admin_pages_capability', $capability );
245
+
246
+ return $capability;
247
+ }
248
+
249
+ /**
250
+ * Define if is a `tec` admin page (registered).
251
+ *
252
+ * @since 4.15.0
253
+ *
254
+ * @param string $page_id The ID of the page to check if is a `tec` admin page.
255
+ *
256
+ * @return boolean True if is a `tec` admin page, false otherwise.
257
+ */
258
+ public function is_tec_page( $page_id = '' ) {
259
+ return in_array( $page_id, array_keys( $this->pages ), true );
260
+ }
261
+
262
+ /**
263
+ * Get pages with tabs.
264
+ * @since 4.15.0
265
+ *
266
+ * @param array $pages The list of pages with tabs.
267
+ * @return array $pages The list of pages with tabs, filtered.
268
+ */
269
+ public function get_pages_with_tabs( $pages = [] ) {
270
+ /**
271
+ * Filters the pages with tabs.
272
+ *
273
+ * @param array $pages Pages with tabs.
274
+ *
275
+ * @since 4.15.0
276
+ */
277
+ return apply_filters(
278
+ 'tec_admin_pages_with_tabs',
279
+ $pages
280
+ );
281
+ }
282
+
283
+ /**
284
+ * Check if the current page has tabs.
285
+ *
286
+ * @since 4.15.0
287
+ *
288
+ * @param string $page The page slug.
289
+ * @return boolean True if the page has tabs, false otherwise.
290
+ */
291
+ public function has_tabs( $page = '' ) {
292
+ if ( empty( $page ) ) {
293
+ $page = $this->get_current_page();
294
+ }
295
+
296
+ return in_array( $page, $this->get_pages_with_tabs() );
297
+ }
298
+
299
+ /**
300
+ * Generic page.
301
+ *
302
+ * @since 4.15.0
303
+ */
304
+ public static function render_page() {
305
+ ?>
306
+ <div class="wrap"></div>
307
+ <?php
308
+ }
309
+ }
common/src/Tribe/Admin/Troubleshooting.php CHANGED
@@ -48,6 +48,7 @@ class Troubleshooting {
48
  */
49
  public function hook() {
50
  add_action( 'admin_menu', [ $this, 'add_menu_page' ], 90 );
 
51
  add_action( 'wp_before_admin_bar_render', [ $this, 'add_toolbar_item' ], 20 );
52
  }
53
 
@@ -103,6 +104,24 @@ class Troubleshooting {
103
  return $capability;
104
  }
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  /**
107
  * Adds the troubleshooting menu to the the WP admin bar under events.
108
  *
@@ -147,7 +166,14 @@ class Troubleshooting {
147
  return false;
148
  }
149
 
150
- return Tribe__Admin__Helpers::instance()->is_screen( $this->admin_page );
 
 
 
 
 
 
 
151
  }
152
 
153
  /**
@@ -157,6 +183,7 @@ class Troubleshooting {
157
  *
158
  */
159
  public function do_menu_page() {
 
160
  $main = Tribe__Main::instance();
161
  include_once Tribe__Main::instance()->plugin_path . 'src/admin-views/troubleshooting.php';
162
  }
48
  */
49
  public function hook() {
50
  add_action( 'admin_menu', [ $this, 'add_menu_page' ], 90 );
51
+ add_filter( 'admin_body_class', [ $this, 'admin_body_class' ] );
52
  add_action( 'wp_before_admin_bar_render', [ $this, 'add_toolbar_item' ], 20 );
53
  }
54
 
104
  return $capability;
105
  }
106
 
107
+ /**
108
+ * Hooked to admin_body_class to add a class for troubleshooting page.
109
+ *
110
+ * @since 4.15.0
111
+ *
112
+ * @param string $classes a space separated string of classes to be added to body.
113
+ *
114
+ * @return string $classes a space separated string of classes to be added to body.
115
+ */
116
+ public function admin_body_class( $classes ) {
117
+ if ( ! $this->is_current_page() ) {
118
+ return $classes;
119
+ }
120
+
121
+ $classes .= ' tec-troubleshooting';
122
+ return $classes;
123
+ }
124
+
125
  /**
126
  * Adds the troubleshooting menu to the the WP admin bar under events.
127
  *
166
  return false;
167
  }
168
 
169
+ global $current_screen;
170
+
171
+ $troubleshooting_pages = [
172
+ 'tribe_events_page_tec-troubleshooting',
173
+ 'tickets_page_tec-tickets-troubleshooting',
174
+ ];
175
+
176
+ return in_array( $current_screen->id, $troubleshooting_pages );
177
  }
178
 
179
  /**
183
  *
184
  */
185
  public function do_menu_page() {
186
+ tribe_asset_enqueue( 'tribe-admin-help-page' );
187
  $main = Tribe__Main::instance();
188
  include_once Tribe__Main::instance()->plugin_path . 'src/admin-views/troubleshooting.php';
189
  }
common/src/Tribe/Credits.php CHANGED
@@ -78,7 +78,14 @@ class Tribe__Credits {
78
 
79
  remove_filter( 'tribe_tickets_post_types', [ $this, 'tmp_return_tribe_events' ], 99 );
80
 
81
- return $footer_text;
 
 
 
 
 
 
 
82
  }
83
 
84
  /**
78
 
79
  remove_filter( 'tribe_tickets_post_types', [ $this, 'tmp_return_tribe_events' ], 99 );
80
 
81
+ /**
82
+ * Filters the admin footer text.
83
+ *
84
+ * @since 4.15.0
85
+ *
86
+ * @param $footer_text The admin footer text.
87
+ */
88
+ return apply_filters( 'tec_admin_footer_text', $footer_text );
89
  }
90
 
91
  /**
common/src/Tribe/Field.php CHANGED
@@ -143,7 +143,7 @@ if ( ! class_exists( 'Tribe__Field' ) ) {
143
  $label_attributes = $args['label_attributes'];
144
  $tooltip = wp_kses(
145
  $args['tooltip'], [
146
- 'a' => [ 'class' => [], 'href' => [], 'title' => [], 'target' => [] ],
147
  'br' => [],
148
  'em' => [ 'class' => [] ],
149
  'strong' => [ 'class' => [] ],
143
  $label_attributes = $args['label_attributes'];
144
  $tooltip = wp_kses(
145
  $args['tooltip'], [
146
+ 'a' => [ 'class' => [], 'href' => [], 'title' => [], 'target' => [], 'rel' => [] ],
147
  'br' => [],
148
  'em' => [ 'class' => [] ],
149
  'strong' => [ 'class' => [] ],
common/src/Tribe/Log/Admin.php CHANGED
@@ -1,4 +1,6 @@
1
  <?php
 
 
2
  class Tribe__Log__Admin {
3
  public function __construct() {
4
  add_action( 'wp_ajax_tribe_logging_controls', [ $this, 'listen' ] );
@@ -106,7 +108,7 @@ class Tribe__Log__Admin {
106
  [ 'jquery' ],
107
  'admin_enqueue_scripts',
108
  [
109
- 'conditionals' => [ Tribe__Admin__Help_Page::instance(), 'is_current_page' ],
110
  'localize' => (object) [
111
  'name' => 'tribe_logger_data',
112
  'data' => [
@@ -117,6 +119,17 @@ class Tribe__Log__Admin {
117
  );
118
  }
119
 
 
 
 
 
 
 
 
 
 
 
 
120
  /**
121
  * Returns a list of logs that are available for perusal.
122
  *
1
  <?php
2
+ use \Tribe\Admin\Troubleshooting;
3
+
4
  class Tribe__Log__Admin {
5
  public function __construct() {
6
  add_action( 'wp_ajax_tribe_logging_controls', [ $this, 'listen' ] );
108
  [ 'jquery' ],
109
  'admin_enqueue_scripts',
110
  [
111
+ 'conditionals' => [ $this, 'should_enqueue_assets' ],
112
  'localize' => (object) [
113
  'name' => 'tribe_logger_data',
114
  'data' => [
119
  );
120
  }
121
 
122
+ /**
123
+ * Checks wether the assets should be enqueued.
124
+ *
125
+ * @since 4.15.0
126
+ *
127
+ * @return boolean True if the assets should be enqueued.
128
+ */
129
+ public function should_enqueue_assets() {
130
+ return Tribe__Admin__Help_Page::instance()->is_current_page() || tribe( Troubleshooting::class )->is_current_page();
131
+ }
132
+
133
  /**
134
  * Returns a list of logs that are available for perusal.
135
  *
common/src/Tribe/Main.php CHANGED
@@ -19,7 +19,8 @@ class Tribe__Main {
19
  const EVENTSERROROPT = '_tribe_events_errors';
20
  const OPTIONNAME = 'tribe_events_calendar_options';
21
  const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
22
- const VERSION = '4.14.18.1';
 
23
  const FEED_URL = 'https://theeventscalendar.com/feed/';
24
 
25
  protected $plugin_context;
@@ -672,7 +673,9 @@ class Tribe__Main {
672
  tribe_singleton( \Tribe\Admin\Troubleshooting::class, \Tribe\Admin\Troubleshooting::class, [ 'hook' ] );
673
 
674
  tribe_singleton( 'callback', 'Tribe__Utils__Callback' );
675
- tribe_singleton( Tribe__Admin__Help_Page::class, Tribe__Admin__Help_Page::class );
 
 
676
 
677
  tribe_register_provider( Tribe__Editor__Provider::class );
678
  tribe_register_provider( Tribe__Service_Providers__Debug_Bar::class );
19
  const EVENTSERROROPT = '_tribe_events_errors';
20
  const OPTIONNAME = 'tribe_events_calendar_options';
21
  const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
22
+
23
+ const VERSION = '4.15.0';
24
  const FEED_URL = 'https://theeventscalendar.com/feed/';
25
 
26
  protected $plugin_context;
673
  tribe_singleton( \Tribe\Admin\Troubleshooting::class, \Tribe\Admin\Troubleshooting::class, [ 'hook' ] );
674
 
675
  tribe_singleton( 'callback', 'Tribe__Utils__Callback' );
676
+ tribe_singleton( Tribe__Admin__Help_Page::class, Tribe__Admin__Help_Page::class, [ 'hook' ] );
677
+ tribe_singleton( 'admin.pages', '\Tribe\Admin\Pages' );
678
+ tribe_singleton( 'admin.activation.page', 'Tribe__Admin__Activation_Page' );
679
 
680
  tribe_register_provider( Tribe__Editor__Provider::class );
681
  tribe_register_provider( Tribe__Service_Providers__Debug_Bar::class );
common/src/Tribe/Onboarding/Main.php CHANGED
@@ -112,7 +112,7 @@ class Main {
112
  public function localize_tour( $hook ) {
113
  $data = $this->tour_data();
114
 
115
- wp_localize_script( 'tribe-onboarding-js', 'TribeOnboardingTour', $data );
116
  }
117
 
118
  /**
@@ -125,7 +125,7 @@ class Main {
125
  public function localize_hints( $hook ) {
126
  $data = $this->hints_data();
127
 
128
- wp_localize_script( 'tribe-onboarding-js', 'TribeOnboardingHints', $data );
129
  }
130
 
131
  /**
112
  public function localize_tour( $hook ) {
113
  $data = $this->tour_data();
114
 
115
+ wp_localize_script( 'tec-onboarding-js', 'TribeOnboardingTour', $data );
116
  }
117
 
118
  /**
125
  public function localize_hints( $hook ) {
126
  $data = $this->hints_data();
127
 
128
+ wp_localize_script( 'tec-onboarding-js', 'TribeOnboardingHints', $data );
129
  }
130
 
131
  /**
common/src/Tribe/PUE/Checker.php CHANGED
@@ -90,12 +90,23 @@ if ( ! class_exists( 'Tribe__PUE__Checker' ) ) {
90
  /**
91
  * Where to store the temporary status info.
92
  *
 
 
93
  * @since 4.14.14
94
  *
95
  * @var string
96
  */
97
  public $pue_key_status_transient_name;
98
 
 
 
 
 
 
 
 
 
 
99
  /**
100
  * used to hold the install_key if set (included here for addons that will extend PUE to use install key checks)
101
  *
@@ -180,30 +191,93 @@ if ( ! class_exists( 'Tribe__PUE__Checker' ) ) {
180
  $this->set_plugin_file( $plugin_file );
181
  $this->set_options( $options );
182
  $this->hooks();
183
- $this->set_key_status_transient_name();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  }
185
 
186
  /**
187
  * Creates a hash for the transient name that holds the current key status.
188
  *
 
 
189
  * @since 4.14.14
190
  */
191
  public function set_key_status_transient_name() {
192
- $this->pue_key_status_transient_name = md5( $this->get_slug() . $this->get_site_domain() );
193
  }
194
 
195
  /**
196
- * Sets the key status transient based on the key validation check results.
197
  *
198
- * @since 4.14.14
199
  *
200
  * @param int $valid 0 for invalid, 1 or 2 for valid.
201
  */
202
- public function set_key_status_transient( $valid ) {
203
  $status = tribe_is_truthy( $valid ) ? 'valid' : 'invalid';
 
 
 
 
 
204
  set_transient( $this->pue_key_status_transient_name, $status, $this->check_period * HOUR_IN_SECONDS );
205
  }
206
 
 
 
 
 
 
 
 
 
 
 
 
 
207
  /**
208
  * Install the hooks required to run periodic update checks and inject update info
209
  * into WP data structures.
@@ -1004,7 +1078,7 @@ if ( ! class_exists( 'Tribe__PUE__Checker' ) ) {
1004
 
1005
  $response['message'] = wp_kses( $response['message'], 'data' );
1006
 
1007
- $this->set_key_status_transient( $response['status'] );
1008
 
1009
  return $response;
1010
  }
@@ -1806,5 +1880,32 @@ if ( ! class_exists( 'Tribe__PUE__Checker' ) ) {
1806
  public function should_show_network_editable_license() {
1807
  return is_network_admin() && is_super_admin();
1808
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1809
  }
1810
  }
90
  /**
91
  * Where to store the temporary status info.
92
  *
93
+ * @todo remove transient in a major feature release where we release all plugins.
94
+ *
95
  * @since 4.14.14
96
  *
97
  * @var string
98
  */
99
  public $pue_key_status_transient_name;
100
 
101
+ /**
102
+ * Where to store the temporary status info.
103
+ *
104
+ * @since 4.14.9
105
+ *
106
+ * @var string
107
+ */
108
+ public $pue_key_status_option_name;
109
+
110
  /**
111
  * used to hold the install_key if set (included here for addons that will extend PUE to use install key checks)
112
  *
191
  $this->set_plugin_file( $plugin_file );
192
  $this->set_options( $options );
193
  $this->hooks();
194
+ $this->set_key_status_name();
195
+ }
196
+
197
+ /**
198
+ * Gets whether the license key is valid or not.
199
+ *
200
+ * @since 4.14.9
201
+ */
202
+ public function is_key_valid() {
203
+ // @todo remove transient in a major feature release where we release all plugins.
204
+ $status = get_transient( $this->pue_key_status_transient_name );
205
+
206
+ if ( empty( $status ) ) {
207
+ $status = get_option( $this->pue_key_status_option_name, 'invalid' );
208
+ }
209
+
210
+ return 'valid' === $status;
211
+ }
212
+
213
+ /**
214
+ * Gets whether or not the PUE key validation check is expired.
215
+ *
216
+ * @since 4.14.9
217
+ */
218
+ public function is_key_validation_expired() {
219
+ // If we have a transient, then we're good. Not expired.
220
+ // @todo remove transient in a major feature release where we release all plugins.
221
+ if ( get_transient( $this->pue_key_status_transient_name ) ) {
222
+ return false;
223
+ }
224
+
225
+ $option_expiration = get_option( "{$this->pue_key_status_option_name}_timeout", null );
226
+ return is_null( $option_expiration ) || ( time() > $option_expiration );
227
+ }
228
+
229
+ /**
230
+ * Set the PUE key status property names.
231
+ *
232
+ * @since 4.14.9
233
+ */
234
+ public function set_key_status_name() {
235
+ $this->pue_key_status_option_name = 'pue_key_status_' . $this->get_slug() . '_' . $this->get_site_domain();
236
+
237
+ // @todo remove transient in a major feature release where we release all plugins.
238
+ $this->pue_key_status_transient_name = md5( $this->get_slug() . $this->get_site_domain() );
239
  }
240
 
241
  /**
242
  * Creates a hash for the transient name that holds the current key status.
243
  *
244
+ * @todo remove transient in a major feature release where we release all plugins.
245
+ *
246
  * @since 4.14.14
247
  */
248
  public function set_key_status_transient_name() {
249
+ _deprecated_function( __METHOD__, '4.14.9', __CLASS__ . '::set_key_status_name()' );
250
  }
251
 
252
  /**
253
+ * Sets the key status based on the key validation check results.
254
  *
255
+ * @since 4.14.9
256
  *
257
  * @param int $valid 0 for invalid, 1 or 2 for valid.
258
  */
259
+ public function set_key_status( $valid ) {
260
  $status = tribe_is_truthy( $valid ) ? 'valid' : 'invalid';
261
+ update_option( $this->pue_key_status_option_name, $status );
262
+ update_option( "{$this->pue_key_status_option_name}_timeout", $this->check_period * HOUR_IN_SECONDS );
263
+
264
+ // We set a transient in addition to an option for compatibility reasons.
265
+ // @todo remove transient in a major feature release where we release all plugins.
266
  set_transient( $this->pue_key_status_transient_name, $status, $this->check_period * HOUR_IN_SECONDS );
267
  }
268
 
269
+ /**
270
+ * Sets the key status transient based on the key validation check results.
271
+ *
272
+ * @since 4.14.9
273
+ *
274
+ * @param int $valid 0 for invalid, 1 or 2 for valid.
275
+ */
276
+ public function set_key_status_transient( $valid ) {
277
+ _deprecated_function( __METHOD__, '4.14.9', __CLASS__ . '::set_key_status()' );
278
+ $this->set_key_status( $valid );
279
+ }
280
+
281
  /**
282
  * Install the hooks required to run periodic update checks and inject update info
283
  * into WP data structures.
1078
 
1079
  $response['message'] = wp_kses( $response['message'], 'data' );
1080
 
1081
+ $this->set_key_status( $response['status'] );
1082
 
1083
  return $response;
1084
  }
1880
  public function should_show_network_editable_license() {
1881
  return is_network_admin() && is_super_admin();
1882
  }
1883
+
1884
+ /**
1885
+ * Determines if the value on the DB is the correct format.
1886
+ *
1887
+ * @since 4.15.0
1888
+ *
1889
+ * @return bool
1890
+ */
1891
+ public function is_valid_key_format() {
1892
+ $license_opt = (string) get_option( $this->get_license_option_key() );
1893
+ if ( empty( $license_opt ) ) {
1894
+ return false;
1895
+ }
1896
+
1897
+ if ( ! preg_match( "/([0-9a-z]+)/i", $license_opt, $matches ) ) {
1898
+ return false;
1899
+ }
1900
+
1901
+ // Pull the matching string into a variable
1902
+ $license = $matches[1];
1903
+
1904
+ if ( 40 !== strlen( $license ) ) {
1905
+ return false;
1906
+ }
1907
+
1908
+ return true;
1909
+ }
1910
  }
1911
  }
common/src/Tribe/Service_Providers/Onboarding.php CHANGED
@@ -43,8 +43,8 @@ class Onboarding extends \tad_DI52_ServiceProvider {
43
  protected function hooks() {
44
  add_action( 'tribe_common_loaded', [ $this, 'register_assets' ] );
45
 
46
- add_action( 'admin_enqueue_scripts', $this->container->make( Onboarding_Main::class, 'localize_tour' ) );
47
- add_action( 'admin_enqueue_scripts', $this->container->make( Onboarding_Main::class, 'localize_hints' ) );
48
  }
49
 
50
  /**
@@ -97,7 +97,7 @@ class Onboarding extends \tad_DI52_ServiceProvider {
97
  'onboarding.js',
98
  [
99
  'tribe-common',
100
- 'tec-intro-js'
101
  ],
102
  [ 'admin_enqueue_scripts' ],
103
  [
43
  protected function hooks() {
44
  add_action( 'tribe_common_loaded', [ $this, 'register_assets' ] );
45
 
46
+ add_action( 'admin_enqueue_scripts', tribe_callback( Onboarding_Main::class, 'localize_tour' ) );
47
+ add_action( 'admin_enqueue_scripts', tribe_callback( Onboarding_Main::class, 'localize_hints' ) );
48
  }
49
 
50
  /**
97
  'onboarding.js',
98
  [
99
  'tribe-common',
100
+ 'tec-intro-js',
101
  ],
102
  [ 'admin_enqueue_scripts' ],
103
  [
common/src/Tribe/Settings.php CHANGED
@@ -5,6 +5,8 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  die( '-1' );
6
  }
7
 
 
 
8
  if ( ! class_exists( 'Tribe__Settings' ) ) {
9
  /**
10
  * helper class that allows registration of settings
@@ -14,13 +16,15 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
14
  */
15
  class Tribe__Settings {
16
  /**
17
- * Slug of the parent menu slug
 
18
  * @var string
19
  */
20
  public static $parent_slug = 'tribe-common';
21
 
22
  /**
23
- * Page of the parent menu
 
24
  * @var string
25
  */
26
  public static $parent_page = 'edit.php';
@@ -31,134 +35,153 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
31
  public $live_date_preview;
32
 
33
  /**
34
- * the tabs that will appear in the settings page
35
- * filtered on class construct
 
36
  * @var array
37
  */
38
  public $tabs;
39
 
40
  /**
41
- * All the tabs registered, not just the ones that will appear
 
42
  * @var array
43
  */
44
  public $allTabs;
45
 
46
  /**
47
- * multidimensional array of the fields that will be generated
48
- * for the entire settings panel, tabs are represented in the array keys
 
49
  * @var array
50
  */
51
  public $fields;
52
 
53
  /**
54
- * the default tab for the settings panel
55
- * this should be a tab ID
 
56
  * @var string
57
  */
58
  public $defaultTab;
59
 
60
  /**
61
- * the current tab being displayed
 
62
  * @var string
63
  */
64
  public $currentTab;
65
 
66
  /**
67
- * tabs that shouldn't show the save button
 
68
  * @var array
69
  */
70
  public $noSaveTabs;
71
 
72
  /**
73
- * The slug used in the admin to generate the settings page
 
74
  * @var string
75
  */
76
  public $adminSlug;
77
 
78
  /**
79
- * The slug used in the admin to generate the help page
 
80
  * @var string
81
  */
82
  protected $help_slug;
83
 
84
-
85
  /**
86
- * the menu name used for the settings page
 
87
  * @var string
88
  */
89
  public $menuName;
90
 
91
  /**
92
- * the required capability for the settings page
 
93
  * @var string
94
  */
95
  public $requiredCap;
96
 
97
  /**
98
- * errors that occur after a save operation
 
99
  * @var mixed
100
  */
101
  public $errors;
102
 
103
  /**
104
- * POST data before/after save
 
105
  * @var mixed
106
  */
107
  public $sent_data;
108
 
109
  /**
110
- * the $current_screen name corresponding to the admin page
 
111
  * @var string
112
  */
113
  public $admin_page;
114
 
115
  /**
116
- * true if a major error that prevents saving occurred
 
117
  * @var bool
118
  */
119
  public $major_error;
120
 
121
  /**
122
- * holds validated fields
 
123
  * @var array
124
  */
125
  public $validated;
126
 
127
  /**
128
- * Static Singleton Holder
 
129
  * @var Tribe__Settings|null
130
  */
131
  private static $instance;
132
 
133
  /**
134
  * The settings page URL.
 
135
  * @var string
136
  */
137
  protected $url;
138
 
139
  /**
140
  * An array defining the suite root plugins.
 
141
  * @var array
142
  */
143
  protected $root_plugins = [
144
  'the-events-calendar/the-events-calendar.php',
145
- 'event-tickets/event-ticket.php',
146
  ];
147
 
148
  /**
149
  * An associative array in the form [ <tab-slug> => array(...<fields>) ]
 
150
  * @var array
151
  */
152
  protected $fields_for_save = [];
153
 
154
  /**
155
  * An array that contains the fields that are currently being validated.
 
156
  * @var array
157
  */
158
  protected $current_fields = [];
159
 
160
  /**
161
- * Static Singleton Factory Method
162
  *
163
  * @return Tribe__Settings
164
  */
@@ -167,13 +190,13 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
167
  }
168
 
169
  /**
170
- * Class constructor
171
  *
172
  * @return void
173
  */
174
  public function __construct() {
175
 
176
- // set instance variables
177
  $this->menuName = apply_filters( 'tribe_settings_menu_name', esc_html__( 'Events', 'tribe-common' ) );
178
  $this->requiredCap = apply_filters( 'tribe_settings_req_cap', 'manage_options' );
179
  $this->adminSlug = apply_filters( 'tribe_settings_admin_slug', 'tribe-common' );
@@ -192,9 +215,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
192
  * Hooks the actions and filters required for the class to work.
193
  */
194
  public function hook() {
195
- // run actions & filters
196
- add_action( 'admin_menu', [ $this, 'addPage' ] );
197
- add_action( 'network_admin_menu', [ $this, 'addNetworkPage' ] );
198
  add_action( 'admin_init', [ $this, 'initTabs' ] );
199
  add_action( 'tribe_settings_below_tabs', [ $this, 'displayErrors' ] );
200
  add_action( 'tribe_settings_below_tabs', [ $this, 'displaySuccess' ] );
@@ -203,22 +224,11 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
203
  /**
204
  * Determines whether or not the full admin pages should be initialized.
205
  *
206
- * When running in parallel with TEC 3.12.4, TEC should be relied on to handle the admin screens
207
- * that version of TEC (and lower) is tribe-common ignorant. Therefore, tribe-common has to be
208
- * the smarter, more lenient codebase.
209
- *
210
  * @return boolean
211
  */
212
  public function should_setup_pages() {
213
- if ( ! class_exists( 'Tribe__Events__Main' ) ) {
214
- return true;
215
- }
216
-
217
- if ( version_compare( Tribe__Events__Main::VERSION, '4.0beta', '>=' ) ) {
218
- return true;
219
- }
220
-
221
- return false;
222
  }
223
 
224
  /**
@@ -227,36 +237,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
227
  * @return void
228
  */
229
  public function addPage() {
230
- if ( ! $this->should_setup_pages() ) {
231
- return;
232
- }
233
-
234
- if ( ! is_multisite() || ( is_multisite() && '0' == Tribe__Settings_Manager::get_network_option( 'allSettingsTabsHidden', '0' ) ) ) {
235
- if ( post_type_exists( 'tribe_events' ) ) {
236
- self::$parent_page = 'edit.php?post_type=tribe_events';
237
- } else {
238
- self::$parent_page = 'admin.php?page=tribe-common';
239
-
240
- add_menu_page(
241
- esc_html__( 'Events', 'tribe-common' ),
242
- esc_html__( 'Events', 'tribe-common' ),
243
- apply_filters( 'tribe_common_event_page_capability', 'manage_options' ),
244
- self::$parent_slug,
245
- null,
246
- 'dashicons-calendar',
247
- 6
248
- );
249
- }
250
-
251
- $this->admin_page = add_submenu_page(
252
- $this->get_parent_slug(),
253
- esc_html__( 'Events Settings', 'tribe-common' ),
254
- esc_html__( 'Settings', 'tribe-common' ),
255
- $this->requiredCap,
256
- self::$parent_slug,
257
- [ $this, 'generatePage' ]
258
- );
259
- }
260
  }
261
 
262
  /**
@@ -265,102 +246,127 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
265
  * @return void
266
  */
267
  public function addNetworkPage() {
268
- if ( ! $this->should_setup_network_pages() ) {
269
- return;
270
- }
271
-
272
- $this->admin_page = add_submenu_page(
273
- 'settings.php', esc_html__( 'Events Settings', 'tribe-common' ), esc_html__( 'Events Settings', 'tribe-common' ), $this->requiredCap, $this->adminSlug, [
274
- $this,
275
- 'generatePage',
276
- ]
277
- );
278
-
279
- $this->admin_page = add_submenu_page(
280
- 'settings.php',
281
- esc_html__( 'Events Help', 'tribe-common' ),
282
- esc_html__( 'Events Help', 'tribe-common' ),
283
- $this->requiredCap,
284
- $this->help_slug,
285
- [
286
- tribe( 'settings.manager' ),
287
- 'do_help_tab',
288
- ]
289
- );
290
  }
291
 
292
  /**
293
- * init all the tabs
294
  *
295
  * @return void
296
  */
297
  public function initTabs() {
298
- if (
299
- empty( $_GET['page'] )
300
- || $_GET['page'] != $this->adminSlug
301
- ) {
302
  return;
303
  }
304
 
305
- // Load settings tab-specific helpers and enhancements
306
  Tribe__Admin__Live_Date_Preview::instance();
307
 
308
- do_action( 'tribe_settings_do_tabs' ); // this is the hook to use to add new tabs
309
- $this->tabs = (array) apply_filters( 'tribe_settings_tabs', [] );
310
- $this->allTabs = (array) apply_filters( 'tribe_settings_all_tabs', [] );
311
- $this->noSaveTabs = (array) apply_filters( 'tribe_settings_no_save_tabs', [] );
 
312
 
313
  if ( is_network_admin() ) {
314
- $this->defaultTab = apply_filters( 'tribe_settings_default_tab_network', 'network' );
315
- $this->currentTab = apply_filters( 'tribe_settings_current_tab', ( isset( $_GET['tab'] ) && $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : $this->defaultTab );
316
- $this->url = apply_filters(
317
- 'tribe_settings_url', add_query_arg(
318
- [
319
- 'page' => $this->adminSlug,
320
- 'tab' => $this->currentTab,
321
- ], network_admin_url( 'settings.php' )
322
- )
323
- );
324
  } else {
325
  $tabs_keys = array_keys( $this->tabs );
326
- $this->defaultTab = in_array( apply_filters( 'tribe_settings_default_tab', 'general' ), $tabs_keys ) ? apply_filters( 'tribe_settings_default_tab', 'general' ) : $tabs_keys[0];
 
327
  $this->currentTab = apply_filters( 'tribe_settings_current_tab', ( isset( $_GET['tab'] ) && $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : $this->defaultTab );
328
- $this->url = apply_filters(
329
- 'tribe_settings_url', add_query_arg(
330
- [
331
- 'page' => $this->adminSlug,
332
- 'tab' => $this->currentTab,
333
- ],
334
- admin_url( self::$parent_page )
335
- )
336
- );
337
  }
338
 
339
- $this->fields_for_save = (array) apply_filters( 'tribe_settings_fields', [] );
340
- do_action( 'tribe_settings_after_do_tabs' );
341
- $this->fields = (array) apply_filters( 'tribe_settings_fields', [] );
342
  $this->validate();
343
  }
344
 
345
  /**
346
- * generate the main option page
347
- * includes the view file
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
348
  *
349
  * @return void
350
  */
351
  public function generatePage() {
352
- do_action( 'tribe_settings_top' );
 
 
 
353
  echo '<div class="tribe_settings wrap">';
354
  echo '<h1>';
355
- printf( esc_html__( '%s Settings', 'tribe-common' ), $this->menuName );
356
  echo '</h1>';
357
  do_action( 'tribe_settings_above_tabs' );
358
- $this->generateTabs( $this->currentTab );
359
  do_action( 'tribe_settings_below_tabs' );
360
- do_action( 'tribe_settings_below_tabs_tab_' . $this->currentTab );
361
  echo '<div class="tribe-settings-form form">';
362
  do_action( 'tribe_settings_above_form_element' );
363
- do_action( 'tribe_settings_above_form_element_tab_' . $this->currentTab );
364
  echo apply_filters( 'tribe_settings_form_element_tab_' . $this->currentTab, '<form method="post">' );
365
  do_action( 'tribe_settings_before_content' );
366
  do_action( 'tribe_settings_before_content_tab_' . $this->currentTab );
@@ -378,7 +384,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
378
  }
379
  echo apply_filters( 'tribe_settings_closing_form_element', '</form>' );
380
  do_action( 'tribe_settings_after_form_element' );
381
- do_action( 'tribe_settings_after_form_element_tab_' . $this->currentTab );
382
  echo '</div>';
383
  do_action( 'tribe_settings_after_form_div' );
384
  echo '</div>';
@@ -386,7 +392,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
386
  }
387
 
388
  /**
389
- * generate the tabs in the settings screen
390
  *
391
  * @return void
392
  */
@@ -394,13 +400,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
394
  if ( is_array( $this->tabs ) && ! empty( $this->tabs ) ) {
395
  echo '<h2 id="tribe-settings-tabs" class="nav-tab-wrapper">';
396
  foreach ( $this->tabs as $tab => $name ) {
397
- if ( ! is_network_admin() ) {
398
- $url = '?page=' . $this->adminSlug . '&tab=' . urlencode( $tab );
399
- $url = apply_filters( 'tribe_settings_url', $url );
400
- }
401
- if ( is_network_admin() ) {
402
- $url = '?page=' . $this->adminSlug . '&tab=' . urlencode( $tab );
403
- }
404
  $class = ( $tab == $this->currentTab ) ? ' nav-tab-active' : '';
405
  echo '<a id="' . esc_attr( $tab ) . '" class="nav-tab' . esc_attr( $class ) . '" href="' . esc_url( $url ) . '">' . esc_html( $name ) . '</a>';
406
  }
@@ -409,76 +409,104 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
409
  }
410
  }
411
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  /**
413
  * validate the settings
414
  *
415
  * @return void
416
  */
417
  public function validate() {
 
 
418
 
419
- do_action( 'tribe_settings_validate_before_checks' );
420
 
421
- // check that the right POST && variables are set
422
  if ( isset( $_POST['tribeSaveSettings'] ) && isset( $_POST['current-settings-tab'] ) ) {
423
  // check permissions
424
- if ( ! current_user_can( 'manage_options' ) ) {
425
  $this->errors[] = esc_html__( "You don't have permission to do that.", 'tribe-common' );
426
  $this->major_error = true;
427
  }
428
 
429
- // check the nonce
430
  if ( ! wp_verify_nonce( $_POST['tribe-save-settings'], 'saving' ) ) {
431
  $this->errors[] = esc_html__( 'The request was sent insecurely.', 'tribe-common' );
432
  $this->major_error = true;
433
  }
434
 
435
- // check that the request originated from the current tab
436
  if ( $_POST['current-settings-tab'] != $this->currentTab ) {
437
  $this->errors[] = esc_html__( "The request wasn't sent from this tab.", 'tribe-common' );
438
  $this->major_error = true;
439
  }
440
 
441
- // bail if we have errors
442
  if ( count( $this->errors ) ) {
443
  remove_action( 'shutdown', [ $this, 'deleteOptions' ] );
444
  add_option( 'tribe_settings_errors', $this->errors );
445
  add_option( 'tribe_settings_major_error', $this->major_error );
446
- wp_redirect( $this->url );
447
  exit;
448
  }
449
 
450
- // some hooks
451
- do_action( 'tribe_settings_validate' );
452
- do_action( 'tribe_settings_validate_tab_' . $this->currentTab );
453
 
454
- // set the current tab and current fields
455
  $tab = $this->currentTab;
456
  $fields = $this->current_fields = $this->fields_for_save[ $tab ];
457
 
458
  if ( is_array( $fields ) ) {
459
- // loop through the fields and validate them
460
  foreach ( $fields as $field_id => $field ) {
461
- // get the value
462
  $value = ( isset( $_POST[ $field_id ] ) ) ? $_POST[ $field_id ] : null;
463
  $value = apply_filters( 'tribe_settings_validate_field_value', $value, $field_id, $field );
464
 
465
- // make sure it has validation set up for it, else do nothing
466
  if (
467
  ( ! isset( $field['conditional'] ) || $field['conditional'] )
468
  && ( ! empty( $field['validation_type'] ) || ! empty( $field['validation_callback'] ) )
469
  ) {
470
- // some hooks
471
  do_action( 'tribe_settings_validate_field', $field_id, $value, $field );
472
  do_action( 'tribe_settings_validate_field_' . $field_id, $value, $field );
473
 
474
- // validate this field
475
  $validate = new Tribe__Validate( $field_id, $field, $value );
476
 
477
  if ( isset( $validate->result->error ) ) {
478
- // uh oh; validation failed
479
  $this->errors[ $field_id ] = $validate->result->error;
480
  } elseif ( $validate->result->valid ) {
481
- // validation passed
482
  $this->validated[ $field_id ] = new stdClass;
483
  $this->validated[ $field_id ]->field = $validate->field;
484
  $this->validated[ $field_id ]->value = $validate->value;
@@ -486,32 +514,35 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
486
  }
487
  }
488
 
489
- // do not generate errors for dependent fields that should not show
490
  if ( ! empty( $this->errors ) ) {
491
  $keep = array_filter( array_keys( $this->errors ), [ $this, 'dependency_checks' ] );
492
  $compare = empty( $keep ) ? [] : array_combine( $keep, $keep );
493
  $this->errors = array_intersect_key( $this->errors, $compare );
494
  }
495
 
496
- // run the saving method
497
  $this->save();
498
  }
499
  }
500
-
501
  }
502
 
503
  /**
504
- * save the settings
 
 
505
  *
506
  * @return void
507
  */
508
  public function save() {
 
 
509
 
510
- // some hooks
511
- do_action( 'tribe_settings_save' );
512
- do_action( 'tribe_settings_save_tab_' . $this->currentTab );
513
 
514
- // we'll need this later
515
  $parent_options = [];
516
 
517
  /**
@@ -522,11 +553,11 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
522
  */
523
  if ( ! empty( $this->validated ) ) {
524
  foreach ( $this->validated as $field_id => $validated_field ) {
525
- // get the value and filter it
526
  $value = $validated_field->value;
527
  $value = apply_filters( 'tribe_settings_save_field_value', $value, $field_id, $validated_field );
528
 
529
- // figure out the parent option [could be set to false] and filter it
530
  if ( is_network_admin() ) {
531
  $parent_option = ( isset( $validated_field->field['parent_option'] ) ) ? $validated_field->field['parent_option'] : Tribe__Main::OPTIONNAMENETWORK;
532
  }
@@ -537,7 +568,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
537
  $parent_option = apply_filters( 'tribe_settings_save_field_parent_option', $parent_option, $field_id );
538
  $network_option = isset( $validated_field->field['network_option'] ) ? (bool) $validated_field->field['network_option'] : false;
539
 
540
- // some hooks
541
  do_action( 'tribe_settings_save_field', $field_id, $value, $validated_field );
542
  do_action( 'tribe_settings_save_field_' . $field_id, $value, $validated_field );
543
 
@@ -548,7 +579,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
548
  update_option( $field_id, $value );
549
  }
550
  } else {
551
- // set the parent option
552
  $parent_options[ $parent_option ][ $field_id ] = $value;
553
  }
554
  }
@@ -561,23 +592,23 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
561
  * this will save using the Tribe__Settings_Manager::set_options method.
562
  */
563
  foreach ( $parent_options as $option_id => $new_options ) {
564
- // get the old options
565
  if ( is_network_admin() ) {
566
  $old_options = (array) get_site_option( $option_id );
567
  } else {
568
  $old_options = (array) get_option( $option_id );
569
  }
570
 
571
- // set the options by parsing old + new and filter that
572
  $options = apply_filters( 'tribe_settings_save_option_array', wp_parse_args( $new_options, $old_options ), $option_id );
573
 
574
  if ( $option_id == Tribe__Main::OPTIONNAME ) {
575
- // save using the Tribe__Settings_Manager method
576
  Tribe__Settings_Manager::set_options( $options );
577
  } elseif ( $option_id == Tribe__Main::OPTIONNAMENETWORK ) {
578
  Tribe__Settings_Manager::set_network_options( $options );
579
  } else {
580
- // save using regular WP method
581
  if ( is_network_admin() ) {
582
  update_site_option( $option_id, $options );
583
  } else {
@@ -586,54 +617,54 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
586
  }
587
  }
588
 
589
- do_action( 'tribe_settings_after_save' );
590
- do_action( 'tribe_settings_after_save_' . $this->currentTab );
591
  remove_action( 'shutdown', [ $this, 'deleteOptions' ] );
592
  add_option( 'tribe_settings_sent_data', $_POST );
593
  add_option( 'tribe_settings_errors', $this->errors );
594
  add_option( 'tribe_settings_major_error', $this->major_error );
595
- wp_redirect( esc_url_raw( add_query_arg( [ 'saved' => true ], $this->url ) ) );
596
  exit;
597
  }
598
 
599
  /**
600
- * display errors, if any, after saving
601
  *
602
  * @return void
603
  */
604
  public function displayErrors() {
605
-
606
- // fetch the errors and filter them
607
  $errors = (array) apply_filters( 'tribe_settings_display_errors', $this->errors );
608
  $count = apply_filters( 'tribe_settings_count_errors', count( $errors ) );
609
 
610
- if ( apply_filters( 'tribe_settings_display_errors_or_not', ( $count > 0 ) ) ) {
611
- // output a message if we have errors
 
 
612
 
613
- $output = '<div id="message" class="error"><p><strong>';
614
- $output .= esc_html__( 'Your form had the following errors:', 'tribe-common' );
615
- $output .= '</strong></p><ul class="tribe-errors-list">';
616
 
617
- // loop through each error
618
- foreach ( $errors as $error ) {
619
- $output .= '<li>' . (string) $error . '</li>';
620
- }
621
 
622
- if ( count( $errors ) ) {
623
- $message = ( isset( $this->major_error ) && $this->major_error )
624
- ? esc_html__( 'None of your settings were saved. Please try again.' )
625
- : esc_html( _n( 'The above setting was not saved. Other settings were successfully saved.', 'The above settings were not saved. Other settings were successfully saved.', $count, 'tribe-common' ) );
626
- }
627
 
628
- $output .= '</ul><p>' . $message . '</p></div>';
629
 
630
- // final output, filtered of course
631
- echo apply_filters( 'tribe_settings_error_message', $output );
632
- }
633
  }
634
 
635
  /**
636
- * display success message after saving
637
  *
638
  * @return void
639
  */
@@ -641,7 +672,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
641
  $errors = (array) apply_filters( 'tribe_settings_display_errors', $this->errors );
642
  $count = apply_filters( 'tribe_settings_count_errors', count( $errors ) );
643
 
644
- // are we coming from the saving place?
645
  if ( isset( $_GET['saved'] ) && ! apply_filters( 'tribe_settings_display_errors_or_not', ( $count > 0 ) ) ) {
646
  // output the filtered message
647
  $message = esc_html__( 'Settings saved.', 'tribe-common' );
@@ -649,12 +680,12 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
649
  echo apply_filters( 'tribe_settings_success_message', $output, $this->currentTab );
650
  }
651
 
652
- //Delete Temporary Options After Display Errors and Success
653
  $this->deleteOptions();
654
  }
655
 
656
  /**
657
- * delete temporary options
658
  *
659
  * @return void
660
  */
@@ -694,7 +725,7 @@ if ( ! class_exists( 'Tribe__Settings' ) ) {
694
  public function get_parent_slug() {
695
  $slug = self::$parent_page;
696
 
697
- // if we don't have an event post type, then we can just use the tribe-common slug
698
  if ( 'edit.php' === $slug || 'admin.php?page=tribe-common' === $slug ) {
699
  $slug = self::$parent_slug;
700
  }
5
  die( '-1' );
6
  }
7
 
8
+ use Tribe\Admin\Pages as AdminPages;
9
+
10
  if ( ! class_exists( 'Tribe__Settings' ) ) {
11
  /**
12
  * helper class that allows registration of settings
16
  */
17
  class Tribe__Settings {
18
  /**
19
+ * Slug of the parent menu slug.
20
+ *
21
  * @var string
22
  */
23
  public static $parent_slug = 'tribe-common';
24
 
25
  /**
26
+ * Page of the parent menu.
27
+ *
28
  * @var string
29
  */
30
  public static $parent_page = 'edit.php';
35
  public $live_date_preview;
36
 
37
  /**
38
+ * The tabs that will appear in the settings page
39
+ * filtered on class construct.
40
+ *
41
  * @var array
42
  */
43
  public $tabs;
44
 
45
  /**
46
+ * All the tabs registered, not just the ones that will appear.
47
+ *
48
  * @var array
49
  */
50
  public $allTabs;
51
 
52
  /**
53
+ * Multidimensional array of the fields that will be generated
54
+ * for the entire settings panel, tabs are represented in the array keys.
55
+ *
56
  * @var array
57
  */
58
  public $fields;
59
 
60
  /**
61
+ * The default tab for the settings panel
62
+ * this should be a tab ID.
63
+ *
64
  * @var string
65
  */
66
  public $defaultTab;
67
 
68
  /**
69
+ * The current tab being displayed.
70
+ *
71
  * @var string
72
  */
73
  public $currentTab;
74
 
75
  /**
76
+ * Tabs that shouldn't show the save button.
77
+ *
78
  * @var array
79
  */
80
  public $noSaveTabs;
81
 
82
  /**
83
+ * The slug used in the admin to generate the settings page.
84
+ *
85
  * @var string
86
  */
87
  public $adminSlug;
88
 
89
  /**
90
+ * The slug used in the admin to generate the help page.
91
+ *
92
  * @var string
93
  */
94
  protected $help_slug;
95
 
 
96
  /**
97
+ * The menu name used for the settings page.
98
+ *
99
  * @var string
100
  */
101
  public $menuName;
102
 
103
  /**
104
+ * The required capability for the settings page.
105
+ *
106
  * @var string
107
  */
108
  public $requiredCap;
109
 
110
  /**
111
+ * Errors that occur after a save operation.
112
+ *
113
  * @var mixed
114
  */
115
  public $errors;
116
 
117
  /**
118
+ * POST data before/after save.
119
+ *
120
  * @var mixed
121
  */
122
  public $sent_data;
123
 
124
  /**
125
+ * The $current_screen name corresponding to the admin page.
126
+ *
127
  * @var string
128
  */
129
  public $admin_page;
130
 
131
  /**
132
+ * True if a major error that prevents saving occurred.
133
+ *
134
  * @var bool
135
  */
136
  public $major_error;
137
 
138
  /**
139
+ * Holds validated fields.
140
+ *
141
  * @var array
142
  */
143
  public $validated;
144
 
145
  /**
146
+ * Static Singleton Holder.
147
+ *
148
  * @var Tribe__Settings|null
149
  */
150
  private static $instance;
151
 
152
  /**
153
  * The settings page URL.
154
+ *
155
  * @var string
156
  */
157
  protected $url;
158
 
159
  /**
160
  * An array defining the suite root plugins.
161
+ *
162
  * @var array
163
  */
164
  protected $root_plugins = [
165
  'the-events-calendar/the-events-calendar.php',
166
+ 'event-tickets/event-tickets.php',
167
  ];
168
 
169
  /**
170
  * An associative array in the form [ <tab-slug> => array(...<fields>) ]
171
+ *
172
  * @var array
173
  */
174
  protected $fields_for_save = [];
175
 
176
  /**
177
  * An array that contains the fields that are currently being validated.
178
+ *
179
  * @var array
180
  */
181
  protected $current_fields = [];
182
 
183
  /**
184
+ * Static Singleton Factory Method.
185
  *
186
  * @return Tribe__Settings
187
  */
190
  }
191
 
192
  /**
193
+ * Class constructor.
194
  *
195
  * @return void
196
  */
197
  public function __construct() {
198
 
199
+ // Set instance variables.
200
  $this->menuName = apply_filters( 'tribe_settings_menu_name', esc_html__( 'Events', 'tribe-common' ) );
201
  $this->requiredCap = apply_filters( 'tribe_settings_req_cap', 'manage_options' );
202
  $this->adminSlug = apply_filters( 'tribe_settings_admin_slug', 'tribe-common' );
215
  * Hooks the actions and filters required for the class to work.
216
  */
217
  public function hook() {
218
+ // Run actions & filters.
 
 
219
  add_action( 'admin_init', [ $this, 'initTabs' ] );
220
  add_action( 'tribe_settings_below_tabs', [ $this, 'displayErrors' ] );
221
  add_action( 'tribe_settings_below_tabs', [ $this, 'displaySuccess' ] );
224
  /**
225
  * Determines whether or not the full admin pages should be initialized.
226
  *
 
 
 
 
227
  * @return boolean
228
  */
229
  public function should_setup_pages() {
230
+ // @todo: Deprecate this and update where needed.
231
+ return true;
 
 
 
 
 
 
 
232
  }
233
 
234
  /**
237
  * @return void
238
  */
239
  public function addPage() {
240
+ _deprecated_function( __METHOD__, '4.15.0' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  }
242
 
243
  /**
246
  * @return void
247
  */
248
  public function addNetworkPage() {
249
+ _deprecated_function( __METHOD__, '4.15.0' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  }
251
 
252
  /**
253
+ * Init all the tabs.
254
  *
255
  * @return void
256
  */
257
  public function initTabs() {
258
+ $admin_pages = tribe( 'admin.pages' );
259
+ $admin_page = $admin_pages->get_current_page();
260
+
261
+ if ( empty( $admin_pages->has_tabs( $admin_page ) ) ) {
262
  return;
263
  }
264
 
265
+ // Load settings tab-specific helpers and enhancements.
266
  Tribe__Admin__Live_Date_Preview::instance();
267
 
268
+ do_action( 'tribe_settings_do_tabs', $admin_page ); // This is the hook to use to add new tabs.
269
+
270
+ $this->tabs = (array) apply_filters( 'tribe_settings_tabs', [], $admin_page );
271
+ $this->allTabs = (array) apply_filters( 'tribe_settings_all_tabs', [], $admin_page );
272
+ $this->noSaveTabs = (array) apply_filters( 'tribe_settings_no_save_tabs', [], $admin_page );
273
 
274
  if ( is_network_admin() ) {
275
+ $this->defaultTab = apply_filters( 'tribe_settings_default_tab_network', 'network', $admin_page );
276
+ $current_tab = ( isset( $_GET['tab'] ) && $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : $this->defaultTab;
277
+ $this->currentTab = apply_filters( 'tribe_settings_current_tab', $current_tab, $admin_page );
278
+ $this->url = $this->get_tab_url( $this->currentTab );
 
 
 
 
 
 
279
  } else {
280
  $tabs_keys = array_keys( $this->tabs );
281
+ $default_tab = apply_filters( 'tribe_settings_default_tab', 'general', $admin_page );
282
+ $this->defaultTab = in_array( $default_tab, $tabs_keys ) ? $default_tab : $tabs_keys[0];
283
  $this->currentTab = apply_filters( 'tribe_settings_current_tab', ( isset( $_GET['tab'] ) && $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : $this->defaultTab );
284
+ $this->url = $this->get_tab_url( $this->currentTab );
 
 
 
 
 
 
 
 
285
  }
286
 
287
+ $this->fields_for_save = (array) apply_filters( 'tribe_settings_fields', [], $admin_page );
288
+ do_action( 'tribe_settings_after_do_tabs', $admin_page );
289
+ $this->fields = (array) apply_filters( 'tribe_settings_fields', [], $admin_page );
290
  $this->validate();
291
  }
292
 
293
  /**
294
+ * Get the current settings page URL
295
+ *
296
+ * @since 4.15.0
297
+ *
298
+ * @return string The current settings page URL.
299
+ */
300
+ public function get_settings_page_url( array $args = [] ) {
301
+ $admin_pages = tribe( 'admin.pages' );
302
+ $page = $admin_pages->get_current_page();
303
+ $tab = tribe_get_request_var( 'tab', $this->defaultTab );
304
+ $defaults = [
305
+ 'page' => $page,
306
+ 'tab' => $tab,
307
+ ];
308
+
309
+ // Allow the link to be "changed" on the fly.
310
+ $args = wp_parse_args( $args, $defaults );
311
+
312
+ $url = add_query_arg(
313
+ $args,
314
+ is_network_admin() ? network_admin_url( 'settings.php' ) : admin_url( 'admin.php' )
315
+ );
316
+
317
+ return apply_filters( 'tribe_settings_page_url', $url, $page, $tab );
318
+ }
319
+
320
+ /**
321
+ * Get the settings page title.
322
+ *
323
+ * @since 4.15.0
324
+ *
325
+ * @param string $admin_page The admin page ID.
326
+ * @return string The settings page title.
327
+ */
328
+ public function get_page_title( $admin_page ) {
329
+ $page_title = sprintf(
330
+ // Translators: %s is the name of the menu item.
331
+ __( '%s Settings', 'tribe-common' ),
332
+ $this->menuName
333
+ );
334
+
335
+ /**
336
+ * Filter the tribe settings page title.
337
+ *
338
+ * @since 4.15.0
339
+ *
340
+ * @param string $page_title The settings page title.
341
+ * @param string $admin_page The admin page ID.
342
+ */
343
+ return apply_filters( 'tribe_settings_page_title', $page_title, $admin_page );
344
+ }
345
+
346
+ /**
347
+ * Generate the main option page.
348
+ * includes the view file.
349
+ *
350
+ * @since 4.15.0 Add the current page as parameter for the actions.
351
  *
352
  * @return void
353
  */
354
  public function generatePage() {
355
+ $admin_pages = tribe( 'admin.pages' );
356
+ $admin_page = $admin_pages->get_current_page();
357
+
358
+ do_action( 'tribe_settings_top', $admin_page );
359
  echo '<div class="tribe_settings wrap">';
360
  echo '<h1>';
361
+ echo esc_html( $this->get_page_title( $admin_page ) );
362
  echo '</h1>';
363
  do_action( 'tribe_settings_above_tabs' );
364
+ $this->generateTabs( $this->currentTab, $admin_page );
365
  do_action( 'tribe_settings_below_tabs' );
366
+ do_action( 'tribe_settings_below_tabs_tab_' . $this->currentTab, $admin_page );
367
  echo '<div class="tribe-settings-form form">';
368
  do_action( 'tribe_settings_above_form_element' );
369
+ do_action( 'tribe_settings_above_form_element_tab_' . $this->currentTab, $admin_page );
370
  echo apply_filters( 'tribe_settings_form_element_tab_' . $this->currentTab, '<form method="post">' );
371
  do_action( 'tribe_settings_before_content' );
372
  do_action( 'tribe_settings_before_content_tab_' . $this->currentTab );
384
  }
385
  echo apply_filters( 'tribe_settings_closing_form_element', '</form>' );
386
  do_action( 'tribe_settings_after_form_element' );
387
+ do_action( 'tribe_settings_after_form_element_tab_' . $this->currentTab, $admin_page );
388
  echo '</div>';
389
  do_action( 'tribe_settings_after_form_div' );
390
  echo '</div>';
392
  }
393
 
394
  /**
395
+ * Generate the tabs in the settings screen.
396
  *
397
  * @return void
398
  */
400
  if ( is_array( $this->tabs ) && ! empty( $this->tabs ) ) {
401
  echo '<h2 id="tribe-settings-tabs" class="nav-tab-wrapper">';
402
  foreach ( $this->tabs as $tab => $name ) {
403
+ $url = $this->get_tab_url( $tab );
 
 
 
 
 
 
404
  $class = ( $tab == $this->currentTab ) ? ' nav-tab-active' : '';
405
  echo '<a id="' . esc_attr( $tab ) . '" class="nav-tab' . esc_attr( $class ) . '" href="' . esc_url( $url ) . '">' . esc_html( $name ) . '</a>';
406
  }
409
  }
410
  }
411
 
412
+ /**
413
+ * Generate the URL for a tab.
414
+ *
415
+ * @since 4.15.0
416
+ *
417
+ * @param string $tab The tab slug.
418
+ *
419
+ * @return string $url The URL.
420
+ */
421
+ public function get_tab_url( $tab ) {
422
+ $admin_pages = tribe( 'admin.pages' );
423
+ $admin_page = $admin_pages->get_current_page();
424
+ $wp_page = is_network_admin() ? network_admin_url( 'settings.php' ) : admin_url( 'admin.php' );
425
+ $url = add_query_arg(
426
+ [
427
+ 'page' => $admin_page,
428
+ 'tab' => $tab,
429
+ ],
430
+ $wp_page
431
+ );
432
+
433
+ $url = apply_filters( 'tec_settings_tab_url', $url, $admin_page, $tab );
434
+
435
+ return $url;
436
+ }
437
+
438
  /**
439
  * validate the settings
440
  *
441
  * @return void
442
  */
443
  public function validate() {
444
+ $admin_pages = tribe( 'admin.pages' );
445
+ $admin_page = $admin_pages->get_current_page();
446
 
447
+ do_action( 'tribe_settings_validate_before_checks', $admin_page );
448
 
449
+ // Check that the right POST && variables are set.
450
  if ( isset( $_POST['tribeSaveSettings'] ) && isset( $_POST['current-settings-tab'] ) ) {
451
  // check permissions
452
+ if ( ! current_user_can( AdminPages::get_capability() ) ) {
453
  $this->errors[] = esc_html__( "You don't have permission to do that.", 'tribe-common' );
454
  $this->major_error = true;
455
  }
456
 
457
+ // Check the nonce.
458
  if ( ! wp_verify_nonce( $_POST['tribe-save-settings'], 'saving' ) ) {
459
  $this->errors[] = esc_html__( 'The request was sent insecurely.', 'tribe-common' );
460
  $this->major_error = true;
461
  }
462
 
463
+ // check that the request originated from the current tab.
464
  if ( $_POST['current-settings-tab'] != $this->currentTab ) {
465
  $this->errors[] = esc_html__( "The request wasn't sent from this tab.", 'tribe-common' );
466
  $this->major_error = true;
467
  }
468
 
469
+ // Bail if we have errors.
470
  if ( count( $this->errors ) ) {
471
  remove_action( 'shutdown', [ $this, 'deleteOptions' ] );
472
  add_option( 'tribe_settings_errors', $this->errors );
473
  add_option( 'tribe_settings_major_error', $this->major_error );
474
+ wp_redirect( $this->get_settings_page_url() );
475
  exit;
476
  }
477
 
478
+ // Some hooks.
479
+ do_action( 'tribe_settings_validate', $admin_page );
480
+ do_action( 'tribe_settings_validate_tab_' . $this->currentTab, $admin_page );
481
 
482
+ // Set the current tab and current fields.
483
  $tab = $this->currentTab;
484
  $fields = $this->current_fields = $this->fields_for_save[ $tab ];
485
 
486
  if ( is_array( $fields ) ) {
487
+ // Loop through the fields and validate them.
488
  foreach ( $fields as $field_id => $field ) {
489
+ // Get the value.
490
  $value = ( isset( $_POST[ $field_id ] ) ) ? $_POST[ $field_id ] : null;
491
  $value = apply_filters( 'tribe_settings_validate_field_value', $value, $field_id, $field );
492
 
493
+ // Make sure it has validation set up for it, else do nothing.
494
  if (
495
  ( ! isset( $field['conditional'] ) || $field['conditional'] )
496
  && ( ! empty( $field['validation_type'] ) || ! empty( $field['validation_callback'] ) )
497
  ) {
498
+ // Some hooks.
499
  do_action( 'tribe_settings_validate_field', $field_id, $value, $field );
500
  do_action( 'tribe_settings_validate_field_' . $field_id, $value, $field );
501
 
502
+ // Validate this field.
503
  $validate = new Tribe__Validate( $field_id, $field, $value );
504
 
505
  if ( isset( $validate->result->error ) ) {
506
+ // Uh oh; validation failed.
507
  $this->errors[ $field_id ] = $validate->result->error;
508
  } elseif ( $validate->result->valid ) {
509
+ // Validation passed.
510
  $this->validated[ $field_id ] = new stdClass;
511
  $this->validated[ $field_id ]->field = $validate->field;
512
  $this->validated[ $field_id ]->value = $validate->value;
514
  }
515
  }
516
 
517
+ // Do not generate errors for dependent fields that should not show.
518
  if ( ! empty( $this->errors ) ) {
519
  $keep = array_filter( array_keys( $this->errors ), [ $this, 'dependency_checks' ] );
520
  $compare = empty( $keep ) ? [] : array_combine( $keep, $keep );
521
  $this->errors = array_intersect_key( $this->errors, $compare );
522
  }
523
 
524
+ // Run the saving method.
525
  $this->save();
526
  }
527
  }
 
528
  }
529
 
530
  /**
531
+ * Save the settings.
532
+ *
533
+ * @since 4.15.0 Add the current page as parameter for the actions.
534
  *
535
  * @return void
536
  */
537
  public function save() {
538
+ $admin_pages = tribe( 'admin.pages' );
539
+ $admin_page = $admin_pages->get_current_page();
540
 
541
+ // Some hooks.
542
+ do_action( 'tribe_settings_save', $admin_page );
543
+ do_action( 'tribe_settings_save_tab_' . $this->currentTab, $admin_page );
544
 
545
+ // We'll need this later.
546
  $parent_options = [];
547
 
548
  /**
553
  */
554
  if ( ! empty( $this->validated ) ) {
555
  foreach ( $this->validated as $field_id => $validated_field ) {
556
+ // Get the value and filter it.
557
  $value = $validated_field->value;
558
  $value = apply_filters( 'tribe_settings_save_field_value', $value, $field_id, $validated_field );
559
 
560
+ // Figure out the parent option [could be set to false] and filter it.
561
  if ( is_network_admin() ) {
562
  $parent_option = ( isset( $validated_field->field['parent_option'] ) ) ? $validated_field->field['parent_option'] : Tribe__Main::OPTIONNAMENETWORK;
563
  }
568
  $parent_option = apply_filters( 'tribe_settings_save_field_parent_option', $parent_option, $field_id );
569
  $network_option = isset( $validated_field->field['network_option'] ) ? (bool) $validated_field->field['network_option'] : false;
570
 
571
+ // Some hooks.
572
  do_action( 'tribe_settings_save_field', $field_id, $value, $validated_field );
573
  do_action( 'tribe_settings_save_field_' . $field_id, $value, $validated_field );
574
 
579
  update_option( $field_id, $value );
580
  }
581
  } else {
582
+ // Set the parent option.
583
  $parent_options[ $parent_option ][ $field_id ] = $value;
584
  }
585
  }
592
  * this will save using the Tribe__Settings_Manager::set_options method.
593
  */
594
  foreach ( $parent_options as $option_id => $new_options ) {
595
+ // Get the old options.
596
  if ( is_network_admin() ) {
597
  $old_options = (array) get_site_option( $option_id );
598
  } else {
599
  $old_options = (array) get_option( $option_id );
600
  }
601
 
602
+ // Set the options by parsing old + new and filter that.
603
  $options = apply_filters( 'tribe_settings_save_option_array', wp_parse_args( $new_options, $old_options ), $option_id );
604
 
605
  if ( $option_id == Tribe__Main::OPTIONNAME ) {
606
+ // Save using the Tribe__Settings_Manager method.
607
  Tribe__Settings_Manager::set_options( $options );
608
  } elseif ( $option_id == Tribe__Main::OPTIONNAMENETWORK ) {
609
  Tribe__Settings_Manager::set_network_options( $options );
610
  } else {
611
+ // Save using regular WP method.
612
  if ( is_network_admin() ) {
613
  update_site_option( $option_id, $options );
614
  } else {
617
  }
618
  }
619
 
620
+ do_action( 'tribe_settings_after_save', $admin_page );
621
+ do_action( 'tribe_settings_after_save_' . $this->currentTab, $admin_page );
622
  remove_action( 'shutdown', [ $this, 'deleteOptions' ] );
623
  add_option( 'tribe_settings_sent_data', $_POST );
624
  add_option( 'tribe_settings_errors', $this->errors );
625
  add_option( 'tribe_settings_major_error', $this->major_error );
626
+ wp_redirect( esc_url_raw( add_query_arg( [ 'saved' => true ], $this->get_settings_page_url() ) ) );
627
  exit;
628
  }
629
 
630
  /**
631
+ * Display errors, if any, after saving.
632
  *
633
  * @return void
634
  */
635
  public function displayErrors() {
636
+ // Fetch the errors and filter them.
 
637
  $errors = (array) apply_filters( 'tribe_settings_display_errors', $this->errors );
638
  $count = apply_filters( 'tribe_settings_count_errors', count( $errors ) );
639
 
640
+ // Bail if we don't have errors.
641
+ if ( ! apply_filters( 'tribe_settings_display_errors_or_not', ( $count > 0 ) ) ) {
642
+ return;
643
+ }
644
 
645
+ $output = '<div id="message" class="error"><p><strong>';
646
+ $output .= esc_html__( 'Your form had the following errors:', 'tribe-common' );
647
+ $output .= '</strong></p><ul class="tribe-errors-list">';
648
 
649
+ // Loop through each error.
650
+ foreach ( $errors as $error ) {
651
+ $output .= '<li>' . (string) $error . '</li>';
652
+ }
653
 
654
+ if ( count( $errors ) ) {
655
+ $message = ( isset( $this->major_error ) && $this->major_error )
656
+ ? esc_html__( 'None of your settings were saved. Please try again.' )
657
+ : esc_html( _n( 'The above setting was not saved. Other settings were successfully saved.', 'The above settings were not saved. Other settings were successfully saved.', $count, 'tribe-common' ) );
658
+ }
659
 
660
+ $output .= '</ul><p>' . $message . '</p></div>';
661
 
662
+ // Final output, filtered of course.
663
+ echo apply_filters( 'tribe_settings_error_message', $output );
 
664
  }
665
 
666
  /**
667
+ * Display success message after saving.
668
  *
669
  * @return void
670
  */
672
  $errors = (array) apply_filters( 'tribe_settings_display_errors', $this->errors );
673
  $count = apply_filters( 'tribe_settings_count_errors', count( $errors ) );
674
 
675
+ // Are we coming from the saving place?
676
  if ( isset( $_GET['saved'] ) && ! apply_filters( 'tribe_settings_display_errors_or_not', ( $count > 0 ) ) ) {
677
  // output the filtered message
678
  $message = esc_html__( 'Settings saved.', 'tribe-common' );
680
  echo apply_filters( 'tribe_settings_success_message', $output, $this->currentTab );
681
  }
682
 
683
+ // Delete Temporary Options After Display Errors and Success.
684
  $this->deleteOptions();
685
  }
686
 
687
  /**
688
+ * Delete temporary options.
689
  *
690
  * @return void
691
  */
725
  public function get_parent_slug() {
726
  $slug = self::$parent_page;
727
 
728
+ // If we don't have an event post type, then we can just use the tribe-common slug.
729
  if ( 'edit.php' === $slug || 'admin.php?page=tribe-common' === $slug ) {
730
  $slug = self::$parent_slug;
731
  }
common/src/Tribe/Settings_Manager.php CHANGED
@@ -11,7 +11,7 @@ class Tribe__Settings_Manager {
11
  public function __construct() {
12
  $this->add_hooks();
13
 
14
- // Load multisite defaults
15
  if ( is_multisite() ) {
16
  $tribe_events_mu_defaults = [];
17
  if ( file_exists( WP_CONTENT_DIR . '/tribe-events-mu-defaults.php' ) ) {
@@ -28,7 +28,6 @@ class Tribe__Settings_Manager {
28
 
29
  add_action( 'admin_menu', [ $this, 'add_help_admin_menu_item' ], 50 );
30
  add_action( 'tribe_settings_do_tabs', [ $this, 'do_setting_tabs' ] );
31
- add_action( 'tribe_settings_do_tabs', [ $this, 'do_network_settings_tab' ], 400 );
32
  add_action( 'tribe_settings_validate_tab_network', [ $this, 'save_all_tabs_hidden' ] );
33
  add_action( 'updated_option', [ $this, 'update_options_cache' ], 10, 3 );
34
  }
@@ -72,14 +71,6 @@ class Tribe__Settings_Manager {
72
  // Make sure Thickbox is available regardless of which admin page we're on
73
  add_thickbox();
74
 
75
- include_once Tribe__Main::instance()->plugin_path . 'src/admin-views/tribe-options-general.php';
76
- include_once Tribe__Main::instance()->plugin_path . 'src/admin-views/tribe-options-display.php';
77
-
78
- $showNetworkTabs = $this->get_network_option( 'showSettingsTabs', false );
79
-
80
- new Tribe__Settings_Tab( 'general', esc_html__( 'General', 'tribe-common' ), $generalTab );
81
- new Tribe__Settings_Tab( 'display', esc_html__( 'Display', 'tribe-common' ), $displayTab );
82
-
83
  $this->do_licenses_tab();
84
  }
85
 
@@ -233,8 +224,18 @@ class Tribe__Settings_Manager {
233
  return;
234
  }
235
 
236
- if ( $apply_filters == true ) {
237
- $options = apply_filters( 'tribe-events-save-network-options', $options );
 
 
 
 
 
 
 
 
 
 
238
  }
239
 
240
  if ( update_site_option( Tribe__Main::OPTIONNAMENETWORK, $options ) ) {
@@ -250,18 +251,7 @@ class Tribe__Settings_Manager {
250
  * @return void
251
  */
252
  public static function add_network_options_page() {
253
- $tribe_settings = Tribe__Settings::instance();
254
- add_submenu_page(
255
- 'settings.php',
256
- $tribe_settings->menuName,
257
- $tribe_settings->menuName,
258
- 'manage_network_options',
259
- 'tribe-common',
260
- [
261
- $tribe_settings,
262
- 'generatePage',
263
- ]
264
- );
265
  }
266
 
267
  /**
@@ -270,9 +260,7 @@ class Tribe__Settings_Manager {
270
  * @return void
271
  */
272
  public static function do_network_settings_tab() {
273
- include_once Tribe__Main::instance()->plugin_path . 'src/admin-views/tribe-options-network.php';
274
-
275
- new Tribe__Settings_Tab( 'network', esc_html__( 'Network', 'tribe-common' ), $networkTab );
276
  }
277
 
278
  /**
@@ -363,12 +351,6 @@ class Tribe__Settings_Manager {
363
 
364
  $network_options = (array) get_site_option( Tribe__Main::OPTIONNAMENETWORK );
365
 
366
- if ( isset( $_POST['hideSettingsTabs'] ) && $_POST['hideSettingsTabs'] == $all_tabs_keys ) {
367
- $network_options['allSettingsTabsHidden'] = '1';
368
- } else {
369
- $network_options['allSettingsTabsHidden'] = '0';
370
- }
371
-
372
  $this->set_network_options( $network_options );
373
  }
374
 
11
  public function __construct() {
12
  $this->add_hooks();
13
 
14
+ // Load multisite defaults.
15
  if ( is_multisite() ) {
16
  $tribe_events_mu_defaults = [];
17
  if ( file_exists( WP_CONTENT_DIR . '/tribe-events-mu-defaults.php' ) ) {
28
 
29
  add_action( 'admin_menu', [ $this, 'add_help_admin_menu_item' ], 50 );
30
  add_action( 'tribe_settings_do_tabs', [ $this, 'do_setting_tabs' ] );
 
31
  add_action( 'tribe_settings_validate_tab_network', [ $this, 'save_all_tabs_hidden' ] );
32
  add_action( 'updated_option', [ $this, 'update_options_cache' ], 10, 3 );
33
  }
71
  // Make sure Thickbox is available regardless of which admin page we're on
72
  add_thickbox();
73
 
 
 
 
 
 
 
 
 
74
  $this->do_licenses_tab();
75
  }
76
 
224
  return;
225
  }
226
 
227
+ if (
228
+ isset( $_POST['tribeSaveSettings'] )
229
+ && isset( $_POST['current-settings-tab'] )
230
+ ) {
231
+ $options['hideSettingsTabs'] = tribe_get_request_var( 'hideSettingsTabs', [] );
232
+ }
233
+
234
+ $admin_pages = tribe( 'admin.pages' );
235
+ $admin_page = $admin_pages->get_current_page();
236
+
237
+ if ( true === $apply_filters ) {
238
+ $options = apply_filters( 'tribe-events-save-network-options', $options, $admin_page );
239
  }
240
 
241
  if ( update_site_option( Tribe__Main::OPTIONNAMENETWORK, $options ) ) {
251
  * @return void
252
  */
253
  public static function add_network_options_page() {
254
+ _deprecated_function( __METHOD__, '4.15.0' );
 
 
 
 
 
 
 
 
 
 
 
255
  }
256
 
257
  /**
260
  * @return void
261
  */
262
  public static function do_network_settings_tab() {
263
+ _deprecated_function( __METHOD__, '4.15.0' );
 
 
264
  }
265
 
266
  /**
351
 
352
  $network_options = (array) get_site_option( Tribe__Main::OPTIONNAMENETWORK );
353
 
 
 
 
 
 
 
354
  $this->set_network_options( $network_options );
355
  }
356
 
common/src/admin-views/help.php CHANGED
@@ -16,7 +16,7 @@ use \Tribe\Admin\Troubleshooting;
16
  ?>
17
 
18
  <div class="tribe-events-admin-header tribe-events-admin-container">
19
- <?php
20
  tribe( Troubleshooting::class )->admin_notice( 'help' );
21
  ?>
22
  <div class="tribe-events-admin-header__content-wrapper">
@@ -53,6 +53,10 @@ use \Tribe\Admin\Troubleshooting;
53
 
54
  // Community Tab
55
  include_once Tribe__Main::instance()->plugin_path . 'src/admin-views/help-community.php';
 
 
 
 
56
  ?>
57
 
58
  <?php // shared footer area ?>
@@ -69,7 +73,7 @@ use \Tribe\Admin\Troubleshooting;
69
  </h2>
70
 
71
  <div class="tribe-events-admin-cta__content-description">
72
- <a href="<?php echo esc_url( admin_url( 'edit.php?post_type=tribe_events&page=tec-troubleshooting' ) ); ?>">
73
  <?php esc_html_e( 'Visit Troubleshooting next', 'tribe-common' ); ?>
74
  </a>
75
  </div>
16
  ?>
17
 
18
  <div class="tribe-events-admin-header tribe-events-admin-container">
19
+ <?php
20
  tribe( Troubleshooting::class )->admin_notice( 'help' );
21
  ?>
22
  <div class="tribe-events-admin-header__content-wrapper">
53
 
54
  // Community Tab
55
  include_once Tribe__Main::instance()->plugin_path . 'src/admin-views/help-community.php';
56
+
57
+ $troubleshooting_link = class_exists( 'Tribe__Events__Main' )
58
+ ? admin_url( 'edit.php?post_type=tribe_events&page=tec-troubleshooting' )
59
+ : admin_url( 'admin.php?page=tec-tickets-troubleshooting' );
60
  ?>
61
 
62
  <?php // shared footer area ?>
73
  </h2>
74
 
75
  <div class="tribe-events-admin-cta__content-description">
76
+ <a href="<?php echo esc_url( $troubleshooting_link ); ?>">
77
  <?php esc_html_e( 'Visit Troubleshooting next', 'tribe-common' ); ?>
78
  </a>
79
  </div>
common/src/admin-views/tribe-options-general.php CHANGED
@@ -11,17 +11,17 @@ $generalTabFields = [
11
  ],
12
  'event-tickets-info' => [
13
  'type' => 'html',
14
- 'html' => '<p>' . sprintf( esc_html__( 'Thank you for using Event Tickets! All of us at The Events Calendar sincerely appreciate your support and we\'re excited to see you using our plugins. Check out our handy %1$sNew User Primer%2$s to get started.', 'tribe-common' ), '<a href="http://evnt.is/18nd">', '</a>' ) . '</p>',
15
  'conditional' => ! class_exists( 'Tribe__Events__Main' ),
16
  ],
17
  'event-tickets-upsell-info' => [
18
  'type' => 'html',
19
- 'html' => '<p>' . sprintf( esc_html__( 'Optimize your site\'s event listings with %1$sThe Events Calendar%2$s, our free calendar plugin. Looking for additional functionality including recurring events, user-submission, advanced ticket sales and more? Check out our %3$spremium add-ons%4$s.', 'tribe-common' ), '<a href="http://evnt.is/18x6">', '</a>', '<a href="http://evnt.is/18x5">', '</a>' ) . '</p>',
20
  'conditional' => ! class_exists( 'Tribe__Events__Main' ),
21
  ],
22
  'upsell-info' => [
23
  'type' => 'html',
24
- 'html' => '<p>' . esc_html__( 'Looking for additional functionality including recurring events, custom meta, community events, ticket sales and more?', 'tribe-common' ) . ' <a href="' . Tribe__Main::$tec_url . 'products/?utm_source=generaltab&utm_medium=plugin-tec&utm_campaign=in-app">' . esc_html__( 'Check out the available add-ons', 'tribe-common' ) . '</a>.</p>',
25
  'conditional' => ( ! tec_should_hide_upsell() ) && class_exists( 'Tribe__Events__Main' ),
26
  ],
27
  'donate-link-heading' => [
@@ -60,7 +60,7 @@ if ( is_super_admin() ) {
60
  'Enable this option to log debug information. By default this will log to your server PHP error log. If you\'d like to see the log messages in your browser, then we recommend that you install the %s and look for the "Tribe" tab in the debug output.',
61
  'tribe-common'
62
  ),
63
- '<a href="https://wordpress.org/extend/plugins/debug-bar/" target="_blank">' . esc_html__( 'Debug Bar Plugin', 'tribe-common' ) . '</a>'
64
  ),
65
  'default' => false,
66
  'validation_type' => 'boolean',
11
  ],
12
  'event-tickets-info' => [
13
  'type' => 'html',
14
+ 'html' => '<p>' . sprintf( esc_html__( 'Thank you for using Event Tickets! All of us at The Events Calendar sincerely appreciate your support and we\'re excited to see you using our plugins. Check out our handy %1$sNew User Primer%2$s to get started.', 'tribe-common' ), '<a target="_blank" rel="noopener noreferrer" href="http://evnt.is/18nd">', '</a>' ) . '</p>',
15
  'conditional' => ! class_exists( 'Tribe__Events__Main' ),
16
  ],
17
  'event-tickets-upsell-info' => [
18
  'type' => 'html',
19
+ 'html' => '<p>' . sprintf( esc_html__( 'Optimize your site\'s event listings with %1$sThe Events Calendar%2$s, our free calendar plugin. Looking for additional functionality including recurring events, user-submission, advanced ticket sales and more? Check out our %3$spremium add-ons%4$s.', 'tribe-common' ), '<a target="_blank" rel="noopener noreferrer" href="http://evnt.is/18x6">', '</a>', '<a target="_blank" rel="noopener noreferrer" href="http://evnt.is/18x5">', '</a>' ) . '</p>',
20
  'conditional' => ! class_exists( 'Tribe__Events__Main' ),
21
  ],
22
  'upsell-info' => [
23
  'type' => 'html',
24
+ 'html' => '<p>' . esc_html__( 'Looking for additional functionality including recurring events, custom meta, community events, ticket sales and more?', 'tribe-common' ) . ' <a target="_blank" rel="noopener noreferrer" href="' . Tribe__Main::$tec_url . 'products/?utm_source=generaltab&utm_medium=plugin-tec&utm_campaign=in-app">' . esc_html__( 'Check out the available add-ons', 'tribe-common' ) . '</a>.</p>',
25
  'conditional' => ( ! tec_should_hide_upsell() ) && class_exists( 'Tribe__Events__Main' ),
26
  ],
27
  'donate-link-heading' => [
60
  'Enable this option to log debug information. By default this will log to your server PHP error log. If you\'d like to see the log messages in your browser, then we recommend that you install the %s and look for the "Tribe" tab in the debug output.',
61
  'tribe-common'
62
  ),
63
+ '<a target="_blank" rel="noopener noreferrer" href="https://wordpress.org/extend/plugins/debug-bar/">' . esc_html__( 'Debug Bar Plugin', 'tribe-common' ) . '</a>'
64
  ),
65
  'default' => false,
66
  'validation_type' => 'boolean',
common/src/admin-views/troubleshooting/notice.php CHANGED
@@ -5,7 +5,11 @@
5
  * @since 4.14.2
6
  *
7
  */
8
- $link = '<a href="' . esc_url( admin_url( 'edit.php?post_type=tribe_events&page=tribe-help' ) ) . '">' . esc_html__( 'Help page?', 'tribe-common' ) . '</a>';
 
 
 
 
9
  ?>
10
  <div class="tribe-events-admin__troubleshooting-notice">
11
  <div class="tribe-events-admin__troubleshooting-notice_title">
5
  * @since 4.14.2
6
  *
7
  */
8
+ $url = class_exists( 'Tribe__Events__Main' )
9
+ ? admin_url( 'edit.php?post_type=tribe_events&page=tec-events-help' )
10
+ : admin_url( 'admin.php?page=tec-tickets-help' );
11
+
12
+ $link = '<a href="' . esc_url( $url ) . '">' . esc_html__( 'Help page?', 'tribe-common' ) . '</a>';
13
  ?>
14
  <div class="tribe-events-admin__troubleshooting-notice">
15
  <div class="tribe-events-admin__troubleshooting-notice_title">
common/src/resources/css/tribe-common-admin.min.css CHANGED
@@ -1 +1 @@
1
- .invalid input,input:out-of-range{border:2px solid red!important}.valid input{border:1px solid green}.clearfix{zoom:1}.placeholder{color:#999;cursor:text;padding:4px}input::placeholder,textarea::placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.bubble{background-color:#f9f9f9;border:1px solid #dfdfdf;border-radius:3px;border-spacing:0;padding:10px}.tribe-sticky-tooltip{color:#bbb}td.tribe_message{padding-bottom:10px!important}#tribe_thanks{float:left;margin:5px 0 0;width:200px}.tribe_brand{font-family:Georgia,serif!important;font-size:17px!important;font-weight:400;margin:8px 0}.tribe-rating{color:#3d54ff}.tribe-rating:hover{color:#1c39bb}#tribe-upgrade{background:#f6f6f6;border:1px solid #ccc;border-radius:5px;margin:20px 0 30px;padding:0 20px 20px}#tribe-upgrade .message{background-color:#ffffe0;border:1px solid #e6db55;border-radius:3px;padding:6px 12px}table.plugins .tribe-plugin-update-message{background:#d54e21;color:#fff;display:inline-table;margin:6px 0;padding:10px 12px}table.plugins .tribe-plugin-update-message h4{display:inline;font-weight:700;margin-right:8px}table.plugins .tribe-plugin-update-message h4:after{content:" \00BB "}table.plugins .tribe-plugin-update-message a{color:#fff;text-decoration:underline}.tribe-settings-form{max-width:1000px}.tribe-settings-form fieldset{clear:both;display:inline-block;padding:10px 0}.tribe-settings-form fieldset.tribe-field-license_key legend{width:auto}.tribe-settings-form legend{float:left;font-weight:700;margin-right:20px;width:220px}.tribe-settings-form .tribe-field-wrap{float:left;max-width:500px}.tribe-settings-form .tribe-field-wrap :first-child{margin-top:0}.tribe-settings-form .tribe-field-checkbox_list label,.tribe-settings-form .tribe-field-radio label{display:block;margin:5px 0 5px 20px;text-indent:-20px}.tribe-settings-form .tribe-field-checkbox_list label>p,.tribe-settings-form .tribe-field-radio label>p{margin-left:1px;text-indent:0}.tribe-settings-form .tribe-field-checkbox_list label input,.tribe-settings-form .tribe-field-radio label input{margin-right:5px}.tribe-settings-form .tribe-settings-form-wrap .description,.tribe-settings-form .tribe-settings-form-wrap fieldset,.tribe-settings-form fieldset[id^=tribe-field-geoloc_]{padding-left:12px}.tribe-settings-form .tribe-settings-form-wrap fieldset .description{margin-left:0;max-width:450px;padding-left:0}.tribe-settings-form .tribe-settings-form-wrap fieldset .tribe-style-selection{margin-bottom:18px}.tribe-settings-form .tribe-settings-form-wrap #tribe-field-stylesheetOption .description{color:#999;margin-left:1px}.tribe-settings-form .tribe-settings-form-wrap h3{background-color:#f9f9f9;margin-bottom:10px;padding:6px 0 6px 12px}.tribe-settings-form .tribe-settings-form-wrap .contained,.tribe-settings-form .tribe-settings-form-wrap .system-info,.tribe-settings-form .tribe-settings-form-wrap .tribe-sysinfo-optin-msg,.tribe-settings-form .tribe-settings-form-wrap h3+p{margin:0 0 10px;padding-left:12px}.tribe_settings .tribe-field-indent{margin-left:245px}.tribe_settings #pu_dashboard_message{display:none}.tribe_settings .tribe-errors-list{margin-left:15px}.tribe_settings .expiring-license{color:red}.tribe_settings .tribe-error{border:1px solid red}.tribe_settings .tribe-field-description{margin-bottom:0;position:relative;top:-12px}.tribe_settings #ical-link{top:-14px}#modern-tribe-info{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;margin:20px 0;padding:8px 20px 12px}#modern-tribe-info img{margin:10px 0}#modern-tribe-info ul{list-style:disc;margin-left:20px}#modern-tribe-info ul ul{list-style:circle}.tribe-field-inline-dropdown{margin-left:0;margin-right:0}.tribe-field-inline-text{line-height:28px;margin:0 2px}.tribe-field-textarea.tribe-size-small textarea{height:60px;width:180px}.tribe-field-textarea.tribe-size-medium textarea{height:80px;width:300px}.tribe-field-textarea.tribe-size-large textarea{height:120px;width:450px}.tribe-field-email.tribe-size-small input,.tribe-field-license_key.tribe-size-small input,.tribe-field-text.tribe-size-small input{width:50px}.tribe-field-email.tribe-size-medium input,.tribe-field-license_key.tribe-size-medium input,.tribe-field-text.tribe-size-medium input{width:225px}.tribe-field-email.tribe-size-large input,.tribe-field-license_key.tribe-size-large input,.tribe-field-text.tribe-size-large input{width:450px}.tribe-field-dropdown.tribe-size-small select{width:100px}.tribe-field-dropdown.tribe-size-medium select{width:300px}.tribe-field-dropdown.tribe-size-large select{width:450px}.tribe-field-wrapped_html.tribe-size-large .tribe-field-wrap{max-width:600px}.tribe-field-wrapped_html.tribe-size-large .tribe-field-wrap .description{max-width:100%}.tribe-field-dropdown_chosen.tribe-size-small select{width:100px}.tribe-field-dropdown_chosen.tribe-size-medium select{width:200px}.tribe-field-dropdown_chosen.tribe-size-large select{width:300px}.tribe-field-wrap .tooltip:first-child{font-style:normal}.tribe-field.indent{margin-left:252px;width:75%}.tribe-field.indent legend{font-weight:400;width:auto}.tribe-field.indent .tribe-field-wrap{padding-right:12px}.tribe-field.indent.tribe-field-radio .tribe-field-wrap{clear:left;margin-top:12px}.tribe-field.light-bordered{background-color:#fff;border:1px solid #d3d3d3}.ajax-loading-license,.invalid-key,.valid-key{display:none;margin:0 5px}.ajax-loading-license{position:relative;top:5px}.key-validity{display:inline-block}.invalid-key,.optin-fail{color:red}.optin-success,.valid-key{color:green}.valid-key.service-msg{color:#b72}#additional-field-table{margin-bottom:20px}.tribe-admin-box-left{float:left;width:20%}.tribe-admin-box-left,.tribe-admin-box-right{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;margin:20px 0;padding:0 20px 15px}.tribe-admin-box-right{float:right;width:68%}.ajax-loader{float:right;margin:10px}.tribe-arrangeable-item{border:1px solid #d3d3d3;border-radius:3px}.tribe-arrangeable-item .ui-state-default{border:none}.tribe-arrangeable-item-top{padding:6px}.tribe-arrangeable-item-top:hover{cursor:move}.tribe-arrangeable-action{float:right}.tribe-arrangeable-child{background-color:#f9f9f9;border-top:1px solid #d3d3d3;display:none;padding:25px}.tribe-arrangeable-child label{display:block;margin:0 0 7px}.tribe_events_active_filter_type_options{margin:10px 0}.tribe_events_active_filter_type_options label{margin:7px 0}#event_organizer td small,.OrganizerInfo td small{display:block;margin:0;max-width:250px}#event_organizer .organizer-email,.OrganizerInfo .organizer-email{vertical-align:top}.tribe-table-field-label{max-width:100%;width:200px}#tribe-help-general,#tribe-help-sidebar{float:left;margin-top:20px}#tribe-help-general p{margin-left:15px}#tribe-help-general ul{list-style-type:square}#tribe-help-general ol,#tribe-help-general ul{margin-bottom:20px;margin-left:35px}#tribe-help-general h3{background-color:#f9f9f9;margin-bottom:10px;padding:6px 0 6px 12px}#tribe-help-general h3~h3{margin-top:2.25em}#tribe-help-general h3+p{margin:0 0 20px;padding-left:12px}#tribe-help-general{width:65%}.tribe-help-section{padding-bottom:10px}.tribe-section-type-box{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;padding:8px 20px 12px}.tribe-section-type-box img{height:auto;margin:10px 0;max-width:300px}.tribe-section-type-box ul{list-style:disc;margin-left:20px}.tribe-section-type-box ul ul{list-style:circle}#tribe-log-controls{padding-bottom:1rem;padding-left:12px}#tribe-log-controls>div{display:inline-block;padding-right:1rem}#tribe-log-controls .working{opacity:1;transition:opacity .2s}#tribe-log-controls .working.hidden{opacity:0;transition:opacity .2s}#tribe-log-viewer,#tribe-system-info dl.support-stats,.template-updates-wrapper{background:#000;border-radius:2px;color:#888;max-height:400px;overflow:scroll;padding:10px}#tribe-system-info dl.support-stats dt,.template-updates-wrapper dt{clear:both;float:left;font-weight:700;text-transform:uppercase;width:25%}#tribe-system-info dl.support-stats dd,.template-updates-wrapper dd{margin-left:25%;padding-left:10px}.system-info-copy .system-info-copy-btn{padding:6px}.system-info-copy .system-info-copy-btn .dashicons{padding-right:10px}.template-updates-wrapper p{margin-top:0}#tribe-help-sidebar{margin:20px 0 0 3%;max-width:225px;width:32%}.tribe-help-plugin-info{border:1px solid #ccc;padding:0 12px 12px}.tribe-help-plugin-info dd,.tribe-help-plugin-info dt{display:inline;margin:0}.tribe-help-plugin-info dt{font-weight:700}.tribe-help-plugin-info dd:after{content:"";display:block;height:.4em}.tribe-help-plugin-info dd:last-child:after{height:0}.tribe-help-plugin-info+.tribe-help-plugin-info{margin-top:20px}.tribe-help-plugin-info>div{line-height:2em}.tribe-help-plugin-info .star-rating{display:inline-block;margin-left:3px;position:relative;top:-2px}.tribe-help-plugin-info .tribe-list-addons{color:#21a6cb;font-size:24px;list-style:circle inside;margin-bottom:10px;margin-top:10px;padding-left:4px}.tribe-help-plugin-info .tribe-list-addons a{font-size:13px;left:-5px;position:relative;top:-5px}.tribe-help-plugin-info .tribe-list-addons .tribe-active-addon{list-style:disc inside}.ui-widget-overlay{background:#666;filter:alpha(opacity=50);opacity:.5}.ui-widget-shadow{background:#000;border-radius:5px;filter:alpha(opacity=20);margin:-5px 0 0 -5px;opacity:.2;padding:5px}.ui-resizable{position:relative}.ui-resizable-handle{display:block;font-size:.1px;position:absolute;z-index:99999}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px}.ui-dialog{padding:.2em;position:relative;width:375px}.ui-dialog .ui-dialog-titlebar{padding:.5em .3em .3em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0 .2em}.ui-dialog .ui-dialog-titlebar-close{height:18px;margin:-10px 0 0;padding:1px;position:absolute;right:.3em;top:50%;width:19px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin-left:-8px;margin-top:-8px}.ui-dialog .ui-dialog-titlebar-close:focus,.ui-dialog .ui-dialog-titlebar-close:hover{padding:0}.ui-dialog .ui-dialog-content{background:none;border:0;overflow:auto;padding:.5em 1em;zoom:1}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0;margin:.5em 0 0;padding:.3em 1em .5em!important;text-align:right}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;line-height:1.4em;margin:.5em .4em!important;overflow:visible;padding:.2em .6em .3em;text-shadow:none;width:auto}.ui-dialog .ui-resizable-se{bottom:3px;height:14px;right:3px;width:14px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:none!important;text-align:center}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button .ui-button-text{display:block;line-height:1.4}#ui-datepicker-div{display:none}#tribe-loading{background:#fff;background:hsla(0,0%,100%,.8);display:none;height:100%;left:0;position:absolute;top:0;transition:all 1s linear;width:100%;z-index:4}#tribe-loading span{background:url(../images/tribe-loading.gif) 0 0 no-repeat;background-size:32px 32px;height:32px;left:50%;margin:-16px 0 0 -16px;position:absolute;top:50%;width:32px}.tribe_update_page{max-width:850px}.tribe-half-column{float:left;margin-bottom:30px;margin-right:5%;width:45%}.tribe-row:after,.tribe-row:before{content:"";display:table}.tribe-row,.tribe-row:after{clear:both}.tribe-row .tribe-half-column:last-child{margin-right:0;width:50%}.tribe_update_page h2{font-size:30px;line-height:1.2;margin-bottom:20px}.tribe_update_page h3{font-size:24px;font-weight:400;line-height:24px;margin-top:0}.tribe_update_page h4{font-size:18px;font-weight:600;line-height:18px;margin:0}.tribe_update_page p{font-size:15px}p.tribe-update-message{font-size:18px;font-weight:400}.tribe_update_page h4:before{content:"\f145";font-family:dashicons;font-size:34px;line-height:1;margin-right:5px;position:relative;top:5px}a.tribe-rating-link{text-decoration:none}.tribe-update-links{margin-top:30px}.tribe_update_page li:before{content:"\2022";padding-right:3px}.tribe_update_page .rss-widget{margin:1em 0}.tribe_update_page a.rsswidget{font-size:14px;font-weight:400;line-height:1}.tribe_update_page .rss-widget li:before{display:none}.tribe-events-widget-admin-form__input-section p{margin:0}.tribe-events-widget-admin-form__input-section h4{margin:.5em 0}.tribe-update-bar{display:inline-block}.tribe-update-bar .progress{border:1px solid #ccc;float:left;margin-right:1rem;padding:1px;width:18rem}.tribe-update-bar .progress .bar{background:#7ad03a;height:1rem;width:1%}#tribe-dialog-wrapper>div{padding:1rem}#tribe-dialog-wrapper>div .stage{display:none}#tribe-dialog-wrapper #heading{background:#fff}#tribe-dialog-wrapper label{display:block}#tribe-dialog-wrapper .select-single-container{border:1px solid #888;height:300px;overflow-y:scroll}#tribe-dialog-wrapper .select-single-container label{opacity:1;padding:3px 5px;transition:opacity .2s}#tribe-dialog-wrapper .select-single-container label:nth-child(odd){background:#fff}#tribe-dialog-wrapper .select-single-container label.selected{background:#0073aa;color:#fff;font-weight:700}#tribe-dialog-wrapper .select-single-container label input{display:none}#tribe-dialog-wrapper .select-single-container.updating label{opacity:.35;transition:opacity .2s}.ui-front{z-index:1000000}.wp-list-table.plugins .column-description .update-message{color:#d54e21}.api-check{min-height:100px;padding:1em}.api-check+.notice-dismiss:hover:before{color:#fff}.api-check:after,.api-check:before{content:"";display:table}.api-check:after{clear:both}.api-check .tribe-mascot{bottom:0;display:none;padding:0 1rem 0 0;position:absolute;right:0;top:0}.api-check .tribe-mascot img{display:inline-block;height:100%;max-height:150px;max-width:150px;vertical-align:middle;width:auto}.api-check p{line-height:1.7;margin-bottom:1em}.api-check a{text-decoration:none}.api-check a:hover{text-decoration:underline}.api-check .plugin-list{display:inline;font-weight:600;margin:0;padding:0}.api-check .plugin-list span.plugin-invalid:after{content:", "}.api-check .plugin-list span.plugin-invalid:last-of-type:after{content:""}.tribe-marketing-notice{padding:1em}.tribe-marketing-notice+.notice-dismiss:hover:before{color:#fff}.tribe-marketing-notice:after,.tribe-marketing-notice:before{content:"";display:table}.tribe-marketing-notice:after{clear:both}.tribe-marketing-notice .tribe-marketing-notice__icon{display:none;flex-shrink:0;padding:0;position:static}.tribe-marketing-notice .tribe-marketing-notice__icon img{display:inline-block;max-height:100%;max-width:none;vertical-align:middle;width:100%}.tribe-marketing-notice h3{margin-bottom:.5em;margin-top:.5em}.tribe-marketing-notice p{line-height:1.7;margin-bottom:.5em}.tribe-marketing-notice a{text-decoration:none}.tribe-marketing-notice a:hover{text-decoration:underline}#wpcontent .notice-tribe-banner{align-items:center;background:#161b7d;border:0;box-shadow:none;display:flex;justify-content:flex-start;margin:0 0 16px;padding-right:0}.notice-tribe-banner .tribe-marketing-notice__icon{width:47px}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:0;padding:1em 0}.notice-tribe-banner h3{color:#fff;display:block;font-size:.875rem;line-height:1.25;margin:0 0 .25rem}.notice-tribe-banner a{border-bottom:1px solid #fff;line-height:1.25;margin:0;text-decoration:none}.notice-tribe-banner a:hover{text-decoration:none}.notice-tribe-banner a,.notice-tribe-banner p{color:#fff;display:inline-block;font-size:.875rem;line-height:1.25}.notice-tribe-banner p{display:inline-block;margin:0;padding:0}.notice-tribe-banner .tribe-marketing-notice{align-items:center;display:flex;justify-content:flex-start;margin:0 auto;min-height:65px;padding:0 .75rem;width:100%}.events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice,.tribe-welcome .notice-tribe-banner .tribe-marketing-notice,.tribe_events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice{max-width:100%}.notice-tribe-banner .notice-dismiss{position:static}.notice-tribe-banner .notice-dismiss:before{color:#eaf1ff}.tribe-dropdown,.tribe-ea-dropdown{max-width:100%;width:auto}.tribe-dropdown.select2-container .selection,.tribe-ea-dropdown.select2-container .selection{margin-top:inherit}.tribe-dropdown .select2-selection--single,.tribe-ea-dropdown .select2-selection--single{height:32px}.tribe-dropdown .select2-selection--single .select2-selection__clear,.tribe-ea-dropdown .select2-selection--single .select2-selection__clear{line-height:28px}.tribe-dropdown .select2-selection--single .select2-selection__rendered,.tribe-ea-dropdown .select2-selection--single .select2-selection__rendered{line-height:32px;padding-right:28px}.tribe-dropdown.select2-container--focus .select2-selection--single,.tribe-ea-dropdown.select2-container--focus .select2-selection--single{border-color:#5897fb;box-shadow:0 0 5px rgba(0,0,0,.1)}.tribe-dropdown.select2-container--open .select2-search__field,.tribe-ea-dropdown.select2-container--open .select2-search__field{padding:0}.tribe-dropdown.select2-container--open .select2-dropdown--below,.tribe-ea-dropdown.select2-container--open .select2-dropdown--below{border-top:1px solid #aaa;margin-top:-1px}.tribe-dropdown.select2-container--open .select2-dropdown--above,.tribe-ea-dropdown.select2-container--open .select2-dropdown--above{border-bottom:1px solid #aaa;margin-bottom:-16px}.tribe-dropdown.select2-container--open .select2-selection--single,.tribe-ea-dropdown.select2-container--open .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#aaa}.tribe-dropdown.select2-container--open .select2-selection__arrow b,.tribe-ea-dropdown.select2-container--open .select2-selection__arrow b{transform:rotate(180deg)}.tribe-dropdown.select2-selection--single,.tribe-ea-dropdown.select2-selection--single{background-image:none;border:1px solid #ccc;border-radius:3px;overflow:hidden}.tribe-dropdown.select2-selection--single>.select2-selection__rendered,.tribe-ea-dropdown.select2-selection--single>.select2-selection__rendered{white-space:normal}.tribe-dropdown.select2-selection--single .select2-selection__arrow,.tribe-ea-dropdown.select2-selection--single .select2-selection__arrow{background:transparent;background-image:none;border-left:0;top:2px;width:26px}.tribe-dropdown.select2-selection--single .select2-selection__arrow b,.tribe-ea-dropdown.select2-selection--single .select2-selection__arrow b{background:#fff url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E") no-repeat right 5px top 55%;background-size:auto;background-size:16px 16px;border:0;bottom:0;display:block;height:auto;left:0;margin:0;padding:0;right:0;top:0;width:auto}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered{background-image:none;border:1px solid #ccc;border-radius:3px;min-height:25px}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline{line-height:25px}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline input,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline input{padding-bottom:0;padding-top:0}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{line-height:19px;margin-top:2px;padding-bottom:0;padding-top:0}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice div,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice div{line-height:inherit}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice__remove,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice__remove{left:4px;top:3px;transition-property:border,color}.select2-results .select2-results__option{color:#939393;font-weight:400;margin-bottom:0}.select2-results .select2-results__option[aria-disabled=true]{background-color:#e0e0e0}.select2-results.select2-results__option--highlighted{background-color:#efefef;color:#a1a1a1;cursor:default;display:block}.wp-core-ui .button-red{background-color:#a00;border-color:#9b2124;box-shadow:inset 0 1px 0 rgba(120,200,230,.5);color:#fff;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.1)}.wp-core-ui .button-red.focus,.wp-core-ui .button-red.hover,.wp-core-ui .button-red:focus,.wp-core-ui .button-red:hover{background-color:#a00;border-color:#7f1c1f;box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.3)}.wp-core-ui .button-red.focus,.wp-core-ui .button-red:focus{border-color:#500f0e;box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.wp-core-ui .button-red.active,.wp-core-ui .button-red.active:focus,.wp-core-ui .button-red.active:hover,.wp-core-ui .button-red:active{background:#7f1c1f;border-color:#601312 #ae2426 #ae2426;box-shadow:inset 0 1px 0 rgba(0,0,0,.1);color:hsla(0,0%,100%,.95);text-shadow:0 1px 0 rgba(0,0,0,.1)}.wp-core-ui .button-red-disabled,.wp-core-ui .button-red:disabled,.wp-core-ui .button-red[disabled]{background:#ba292b!important;border-color:#7f1c1f!important;box-shadow:none!important;color:#e79496!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.ticket_form .select2-container .select2-selection--single .select2-selection__arrow{display:none}.clear{zoom:1}.clear:after,.clear:before{content:" ";display:table}.clear:after{clear:both}.checkmark:after{border:solid #0ab152;border-width:0 3px 3px 0;content:"";display:block;height:15px;transform:rotate(45deg);width:8px}.checkmark.checkmark-right:after{float:right;margin-right:2em}.checkmark.checkmark-left:after{float:left;margin-left:2em}.checkmark.no-checkmark:after{display:none}.complete,.ok,.on,.yes,[data-status=complete],[data-status=ok],[data-status=on],[data-status=yes]{color:#0ab152}.incomplete,.ko,.no,.off,[data-status=incomplete],[data-status=ko],[data-status=no],[data-status=off]{color:#ff2500}.plugin-card-event-tickets-plus .column-downloaded,.plugin-card-event-tickets-plus .column-rating,.plugin-card-event-tickets-plus .column-updated,.plugin-card-event-tickets .column-downloaded,.plugin-card-event-tickets .column-rating,.plugin-card-event-tickets .column-updated,.plugin-card-events-calendar-pro .column-downloaded,.plugin-card-events-calendar-pro .column-rating,.plugin-card-events-calendar-pro .column-updated,.plugin-card-events-community-tickets .column-downloaded,.plugin-card-events-community-tickets .column-rating,.plugin-card-events-community-tickets .column-updated,.plugin-card-events-community .column-downloaded,.plugin-card-events-community .column-rating,.plugin-card-events-community .column-updated,.plugin-card-image-widget-plus .column-downloaded,.plugin-card-image-widget-plus .column-rating,.plugin-card-image-widget-plus .column-updated,.plugin-card-image-widget .column-downloaded,.plugin-card-image-widget .column-rating,.plugin-card-image-widget .column-updated,.plugin-card-the-events-calendar .column-downloaded,.plugin-card-the-events-calendar .column-rating,.plugin-card-the-events-calendar .column-updated,.plugin-card-tribe-eventbrite .column-downloaded,.plugin-card-tribe-eventbrite .column-rating,.plugin-card-tribe-eventbrite .column-updated,.plugin-card-tribe-filterbar .column-downloaded,.plugin-card-tribe-filterbar .column-rating,.plugin-card-tribe-filterbar .column-updated{display:none}body.tribe-welcome,body.tribe_events_page_tribe-help{background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.tribe-welcome .update-nag,body.tribe_events_page_tribe-help .update-nag{display:none}body.tribe-welcome #wpcontent,body.tribe_events_page_tribe-help #wpcontent{padding:0}body.tribe-welcome .tribe_settings,body.tribe_events_page_tribe-help .tribe_settings{margin:0}body.tribe-welcome #wpfooter,body.tribe-welcome .tribe_settings>h1,body.tribe_events_page_tribe-help #wpfooter,body.tribe_events_page_tribe-help .tribe_settings>h1{display:none}body.tribe-welcome #wpbody-content,body.tribe_events_page_tribe-help #wpbody-content{padding-bottom:25px}body.tribe-welcome .tribe-dependency-error,body.tribe_events_page_tribe-help .tribe-dependency-error{display:none}.tribe-events-admin-content-wrapper{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;margin:0 auto;padding:0 0 30px;width:calc(100% - 40px)}.tribe-events-admin-card{background:#fff;border:1px solid #e1e1e4;border-radius:16px;box-sizing:border-box;display:block;margin:0 auto 36px;padding:27px;text-align:center}.tribe-events-admin-card--2up .tribe-events-admin-card__title{max-width:260px}.tribe-events-admin-card--3up .tribe-events-admin-card__description{height:71px}.tribe-events-admin-card--3up .tribe-events-admin-card__image{margin-bottom:28px}.tribe-events-admin-card__button{background-color:#fff;border:none;color:#3d54ff;font-size:14px;font-weight:700;letter-spacing:1px;line-height:16px;position:absolute;right:20px;text-transform:uppercase;top:17px}.tribe-events-admin-card__button:hover{color:#161b7d}.tribe-events-admin-card__description{color:#000;font-size:14px;font-style:normal;font-weight:400;line-height:22px;margin-top:16px}.tribe-events-admin-card__image{display:block;height:100px;margin:0 auto}.tribe-events-admin-card__link{color:#3d54ff;display:inline-block;font-size:16px;font-style:normal;font-weight:700;line-height:18px;margin-top:24px;position:relative;text-decoration:none}.tribe-events-admin-card__link:hover{color:#161b7d}.tribe-events-admin-card__link:after{border-style:solid;border-width:0 0 1px;bottom:-4px;content:"";left:0;position:absolute;width:100%}.tribe-events-admin-card__title{color:#0f1031;font-size:20px;font-weight:700;line-height:23px;margin:auto}.tribe-events-admin-card-grid{max-width:1048px}input[type=checkbox].tribe-common-switch__input{display:none}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label{background:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;cursor:pointer;display:block;height:18px;outline:0;padding:3px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:27px}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:after,input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:before{content:"";display:block;height:10px;position:relative;width:10px}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:after{background:#878787;border-radius:2px;content:"";left:0;transition:all .2s ease}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:before{display:none}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label::selection{background:none}input[type=checkbox].tribe-common-switch__input:checked+.tribe-common-switch__label:after{background:#2e709d;left:50%}.tribe-events-admin-header__logo-word-mark{display:inline-block;height:auto;margin:0 0 26px;vertical-align:middle;width:312px}.tribe-events-admin-header{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:45px 0 0}.tribe-events-admin-header__right-image{height:280px;position:absolute;right:0;top:0;width:auto;z-index:-1}.tribe-events-admin-header__title{font-size:48px;line-height:48px;margin:0 0 18px}.tribe-events-admin-header__description{font-size:18px;line-height:28px;margin-bottom:44px;max-width:60%}.tribe-events-admin-tab-nav{display:flex;margin:0}.tribe-events-admin-tab-nav li{cursor:pointer;font-size:16px;font-weight:500;margin-bottom:0;margin-right:30px}.tribe-events-admin-tab-nav li:hover{color:#334aff}.tribe-events-admin-tab-nav .selected{border-bottom:3px solid #334aff;color:#334aff;padding-bottom:17px}.tribe-events-admin-tab-nav li:after{background:#334aff;border-radius:100px;bottom:0;content:"";display:block;height:3px;left:0;position:absolute;right:0}.tribe-events-admin__line{border-top:1px solid #e1e1e4}.tribe-events-admin-products-description{color:#0f1031;font-size:14px;line-height:2}.tribe-events-admin-products-card{align-items:center;border:1px solid #e1e1e4;border-radius:20px;display:flex;padding:10px 15px}.tribe-events-admin-products-card__icon{height:40px;object-fit:contain;width:40px}.tribe-events-admin-products-card__group{margin:0 20px;max-width:55%}.tribe-events-admin-products-card__group-title{color:#0f1031;font-size:16px;font-weight:700;line-height:1;margin:0}.tribe-events-admin-products-card__group-description{font-size:12px;margin-top:5px}.tribe-events-admin-products-card__button{background-color:#fff;border:1px solid #e1e1e4;border-radius:20px;color:#0f1031;font-size:12px;font-weight:700;letter-spacing:1px;line-height:16px;margin-left:auto;padding:10px 15px;text-decoration:none;text-transform:uppercase}.tribe-events-admin-products-card__button:hover{background-color:#334aff;color:#fff}.tribe-events-admin-products-card__button:active,.tribe-events-admin-products-card__button:focus{box-shadow:none;outline:none}.tribe-events-admin-products-card__button--active,.tribe-events-admin-products-card__button--active:active,.tribe-events-admin-products-card__button--active:focus,.tribe-events-admin-products-card__button--active:hover{background:rgba(61,84,255,.16);color:#334aff;cursor:not-allowed;text-transform:uppercase}.tribe-events-admin-card--1up{width:100%}.tribe-events-admin-card--no-pad{padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__image{display:block;height:152px;margin:0;padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__title{font-size:28px;line-height:34px;text-align:left}.tribe-events-admin-card--no-pad .tribe-events-admin-card__description{margin:0;padding:0;text-align:left}.tribe-events-admin-card--no-pad .tribe-events-admin-card__link{margin:0;padding:0}.tribe-events-admin-card--faq{display:inline-block;font-size:0;height:147px;margin:0 0 0 30px;padding:24px 16px 22px 20px;width:230px}.tribe-events-admin-card--faq:first-child{margin-left:0}.tribe-events-admin-card--faq img{float:left;height:22px;width:16px}.tribe-events-admin-card--faq .tribe-events-admin-faq__question{color:#334aff;font-size:16px;line-height:19px;margin:0 0 12px 26px;text-align:left}.tribe-events-admin-card--faq .tribe-events-admin-faq__answer{font-size:13px;line-height:16px;margin-left:26px;text-align:left}.tribe-events-admin-video{border-radius:16px;height:200px;margin-bottom:72px;-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 0);overflow:hidden;-webkit-transform:rotate(.000001deg)}.tribe-events-admin-video iframe{width:100%}.tribe-events-admin-card--promo-blue{background-color:#3d54ff;background-image:url(../images/welcome/promo.jpg)}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__description{color:#fff;font-size:16px;margin-bottom:16px;text-align:left}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__title{color:#fff;text-align:left}.tribe-events-admin-graphic{position:absolute;right:0;top:106px;z-index:-1}.tribe-events-admin-graphic--desktop-only{display:none}.tribe-events-admin-graphic--mobile-only{display:block}.tribe-events-admin-card__form{position:relative}input[type=email].tribe-events-admin-card__input{background:#fff;border:1px solid #e1e1e4;border-radius:16px;box-sizing:border-box;font-size:14px;height:54px}input[type=email].tribe-events-admin-card__input::placeholder{color:rgba(15,16,49,.72);letter-spacing:.5px;padding-left:10px}.tribe-events-admin-container,.tribe-events-admin-content-wrapper.tribe-events-admin-container{margin:0 auto;max-width:1024px;width:90%}.tribe-events-admin-2col-grid{display:grid;grid-gap:15px 30px;gap:15px 30px;grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}.tribe-events-admin-3col-grid{display:grid;grid-gap:30px;gap:30px;grid-template-areas:". . .";grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}.tribe-events-admin-4col-grid{display:grid;grid-gap:30px;gap:30px;grid-template-areas:". . . .";grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr}.tribe-events-admin-products{margin:10px 0 0}.tribe-events-admin-quick-nav{background:#fff;border:1px solid #e1e1e4;border-radius:16px;box-sizing:border-box;display:block;margin:40px 0 78px;padding:18px 23px 2px}.tribe-events-admin-quick-nav__link{color:#3d54ff;font-size:16px;font-weight:700;line-height:18px;text-align:center;text-decoration:none}.tribe-events-admin-quick-nav__link:hover{color:#161b7d}.tribe-events-admin-quick-nav__link-item{display:block;padding-bottom:19px}.tribe-events-admin-quick-nav__links{display:inline}.tribe-events-admin-quick-nav__title{color:rgba(15,16,49,.72);display:inline-block;font-size:14px;font-weight:400;line-height:16px;padding-bottom:14px;text-transform:uppercase}.tribe-events-admin-title{padding-top:14px}.tribe-events-admin-title__description{color:#0f1031;font-size:16px;font-weight:400;line-height:24px;max-width:584px;padding-top:15px}.tribe-events-admin-title__heading{color:#0f1031;display:inline-block;font-size:24px;font-weight:700;line-height:28px;margin:5px 0 0}.tribe-events-admin-title__logo{margin-right:8px;vertical-align:top;width:34px}.tribe-events-admin-notice{background-color:#3d54ff;height:65px}.tribe-events-admin-notice .tribe-events-admin-content-wrapper{padding-bottom:0;padding-top:8px}.tribe-events-admin-notice p{color:#fff;display:inline-block;font-family:Helvetica,sans-serif;font-size:16px;line-height:18px;margin-top:0;padding-bottom:12px;padding-left:16px;vertical-align:middle;width:calc(100% - 60px)}.tribe-events-admin-notice__logo{display:inline-block}.tribe-events-admin-tickets .tribe-events-admin-section-header{font-size:28px;line-height:32px}.tribe-events-admin-tickets .tribe-events-admin-graphic--desktop-only{width:365px}.tribe-events-admin-tickets .tribe-events-admin-graphic--mobile-only{top:230px;width:300px}.tribe-events-admin-tickets .tribe-events-admin-title__heading{margin-top:0}.tribe-events-admin-tickets .tribe-events-admin-title__logo{margin-right:4px;width:32px}.tribe-events-admin-kb{margin:10px 0 0}.tribe-events-admin-kb-card{border:1px solid #e1e1e4;border-radius:20px}.tribe-events-admin-kb-card__image{height:auto;width:100%}.tribe-events-admin-kb-card__title{color:#0f1031;flex-grow:0;font-size:20px;font-weight:700;line-height:1.2;margin:0;padding:20px 28px 10px}.tribe-events-admin-kb-card__links{margin:0;padding:0 28px 25px}.tribe-events-admin-kb-card__links li{margin:0 0 10px}.tribe-events-admin-kb-card__links li a{color:#334aff;font-size:14px;line-height:1.2;text-decoration:none}.tribe-events-admin-kb-card__links li a:focus{box-shadow:none;outline:none}.tribe-events-admin-kb-card__links li a:hover{color:#1c39bb}.tribe-events-admin-section-header{align-items:center;color:#000;display:flex;font-weight:700;justify-content:space-between;margin:0}.tribe-events-admin-section-header h3{color:#0f1031;font-size:28px;font-weight:700;line-height:1}.tribe-events-admin-section-header a{border-bottom:2px solid #334aff;color:#334aff;font-size:14px;padding-bottom:2px;text-decoration:none}.tribe-events-admin-section-header a:focus{box-shadow:none;outline:none}.tribe-events-admin-section-header a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin-faq{margin:10px 0 0}.tribe-events-admin-faq-card{border:1px solid #e1e1e4;border-radius:20px;display:flex;justify-content:space-between;padding:24px 15px 19px 19px}.tribe-events-admin-faq-card a{color:#0f1031}.tribe-events-admin-faq-card a:focus{box-shadow:none;outline:none}.tribe-events-admin-faq-card a:hover{color:#1c39bb}.tribe-events-admin-faq-card__icon img{height:22px;width:16px}.tribe-events-admin-faq-card__content{margin-left:10px}.tribe-events-admin-faq__question,.tribe-events-admin-faq__question a{color:#334aff;font-size:16px;text-decoration:none}.tribe-events-admin-faq__question a:focus{box-shadow:none;outline:none}.tribe-events-admin-faq__question a:hover{color:#1c39bb}.tribe-events-admin-faq__answer{color:#0f1031;font-size:13px;margin-top:18px}.tribe-events-admin-extensions-title{color:#0f1031;font-size:16px;line-height:1.5;margin:0 0 30px;max-width:70%}.tribe-events-admin-extensions{margin:10px 0 0}.tribe-events-admin-extensions-card{border:1px solid #e1e1e4;border-radius:20px;border-top:8px solid #334aff;padding:48px 35px 24px 25px}.tribe-events-admin-extensions-card__title{font-size:20px;margin:0}.tribe-events-admin-extensions-card__title a{color:#0f1031;font-family:Helvetica,sans-serif;font-size:20px;font-weight:700;line-height:1.2;text-decoration:none}.tribe-events-admin-extensions-card__title a:active,.tribe-events-admin-extensions-card__title a:focus,.tribe-events-admin-extensions-card__title a:hover{box-shadow:none;color:#334aff}.tribe-events-admin-extensions-card__description{color:#0f1031;font-family:Helvetica,sans-serif;font-size:14px;line-height:1.43;margin:20px 0}.tribe-events-admin-cta{align-items:center;border:1px solid #e1e1e4;border-radius:20px;display:flex;justify-content:space-between;margin:60px 0}.tribe-events-admin-cta__image{height:152px;object-fit:contain;width:auto}.tribe-events-admin-cta__content,.tribe-events-admin__troubleshooting-cta{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px 0;width:100%}.tribe-events-admin-cta__content-title{color:#0f1031;font-size:28px;font-weight:700;line-height:normal;margin:0 0 10px;text-align:center}.tribe-events-admin-cta__content-subtitle{color:#0f1031;font-size:16px;line-height:1.5;margin-bottom:10px;text-align:center}.tribe-events-admin-cta__content-description a{border-bottom:2px solid #334aff;color:#334aff;font-size:16px;font-weight:700;padding-bottom:2px;text-decoration:none}.tribe-events-admin-cta__content-description a:focus{box-shadow:none;outline:none}.tribe-events-admin-cta__content-description a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin-footer-logo{display:inline-block;vertical-align:middle;width:228px}.tribe-events-admin-step{margin:10px 0 0}.tribe-events-admin-step-card{border:1px solid #e1e1e4;border-radius:20px;display:flex;justify-content:space-between;padding:24px 15px 19px 19px}.tribe-events-admin-step-card a{border-bottom:2px solid #334aff;color:#334aff;padding-bottom:2px;text-decoration:none}.tribe-events-admin-step-card a:focus{box-shadow:none;outline:none}.tribe-events-admin-step-card a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin-step-card__icon img{height:43px;margin-right:5px;width:42px}.tribe-events-admin-step-card__content{margin-left:10px}.tribe-events-admin-step__title{color:#0f1031;font-size:20px;font-weight:700;line-height:1.2;margin-bottom:10px}.tribe-events-admin-step__answer{color:#0f1031;font-size:13px;margin-top:18px}.tribe-events-admin__system-information{display:grid;grid-gap:15px 30px;gap:15px 30px;grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;margin:100px 0;position:relative}.tribe-events-admin__troubleshooting-title{color:#0f1031;font-size:28px;font-weight:700;line-height:1;margin:0}.tribe-events-admin__troubleshooting-description{color:#0f1031;font-size:18px;line-height:1.2;line-height:1.44;margin:20px 0}.tribe-events-admin__system-information-select{display:flex;margin:30px 0 20px}.tribe-events-admin__system-information-select input[type=checkbox]{margin:0 10px 0 0}.tribe-events-admin__system-information-select label{color:#0f1031;font-size:16px;line-height:1.2}.tribe-events-admin__system-information-content small{color:#0f1031;font-size:12px;line-height:1.2}.tribe-events-admin__recent-template-changes .template-updates-wrapper,.tribe-events-admin__system-information-widget{background:#0f1031;border-radius:16px;color:#fff;font-size:14px;line-height:1.14;max-height:280px;overflow:scroll;-ms-overflow-style:none;padding:12px 0 0 27px;scrollbar-width:none}.tribe-events-admin__recent-template-changes .template-updates-wrapper p{color:#fff;font-size:14px;line-height:1.14;margin:0}.tribe-events-admin__system-information-widget a{color:#334aff}.tribe-events-admin__system-information-widget a:hover{opacity:.8}.tribe-events-admin__recent-template-changes .template-updates-wrapper{padding:30px 0 30px 27px}.tribe-events-admin__recent-template-changes .template-updates-wrapper::-webkit-scrollbar,.tribe-events-admin__system-information-widget::-webkit-scrollbar{display:none}.tribe-events-admin__system-information-widget-copy{bottom:10px;position:absolute}.tribe-events-admin__system-information-widget-copy button{background-color:#334aff;border:none;border-radius:100px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;outline:none;padding:18px 25px;text-align:center}.tribe-events-admin__system-information-widget-copy button:hover{background-color:#1c39bb}.tribe-events-admin__system-information-widget-copy button .dashicons,.tribe-events-admin__system-information-widget-copy button .dashicons-before:before{display:none}.tribe-events-admin__system-information-widget-copy button .optin-success{color:#fff;font-size:16px;font-weight:700;text-align:center}.tribe-events-admin__recent-template-changes p{color:#0f1031;font-size:18px;line-height:1.2;line-height:1.44;margin:20px 0}.tribe-events-admin__recent-log{margin-top:50px}.tribe-events-admin__troubleshooting-event-log-wrapper label{color:#0f1031;display:block;font-size:16px;line-height:1.63;margin-bottom:10px}.tribe-events-admin__troubleshooting-event-log-wrapper #tribe-log-controls{margin:20px 0 10px}.tribe-events-admin__troubleshooting-event-log-wrapper #tribe-log-viewer{background:#0f1031;border-radius:16px;color:#fff;font-size:14px;line-height:1.14;max-height:280px;min-height:60px;overflow:scroll;-ms-overflow-style:none;padding:12px 0 0 27px;scrollbar-width:none}.tribe-events-admin__troubleshooting-event-log-wrapper #tribe-log-viewer::-webkit-scrollbar{display:none}.tribe-events-admin__troubleshooting-event-log-wrapper .download_log{border-bottom:2px solid #334aff;color:#334aff;font-size:16px;padding-bottom:2px;text-decoration:none}.tribe-events-admin__troubleshooting-event-log-wrapper .download_log:focus{box-shadow:none;outline:none}.tribe-events-admin__troubleshooting-event-log-wrapper .download_log:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin__troubleshooting-event-log-wrapper .tribe-events-admin__recent-log-filters-select-wrapper:after{display:none}.tribe-events-admin__recent-log-filters{display:flex;padding:20px 0 40px}.tribe-events-admin__recent-log-filters-field{margin-right:40px}.tribe-events-admin__recent-log-filters-select-wrapper:after{content:url(../images/help/polygon.svg);height:13px;pointer-events:none;position:absolute;right:22px;top:20px;width:14px}.tribe-events-admin__recent-log-filters-select-wrapper .select2-container--default .select2-selection--single{border:1px solid #e1e1e4!important;border-radius:16px;color:#0f1031;font-size:14px;line-height:1.14;padding:0 25px 0 15px!important}.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls{margin-bottom:20px;padding:0}.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:first-child,.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(2),.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(3){padding-right:75px}.tribe-events-admin__recent-log-filters-select-wrapper .select2-selection__clear{display:none}.tribe-events-admin__recent-log-filters-select-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow{right:5px}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.tribe-events-admin__recent-log-filters-select-wrapper .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.tribe-events-admin__recent-log-filters-select-wrapper .select2-container .select2-selection--single .select2-selection__rendered{width:100%}.tribe-events-admin__recent-log-filters-select-wrapper select.focus-visible,.tribe-events-admin__recent-log-filters-select-wrapper select:focus-visible{outline:none}.tribe-events-admin__recent-log-filters-select-wrapper select option{color:#0f1031;font-size:14px;line-height:1.14}.tribe-events-admin__ea-status{margin-top:50px}.tribe-events-admin__issues-found-card{background-color:#f3eee8;border-radius:8px;margin-bottom:20px}.tribe-events-admin__issues-found-card:last-of-type{margin-bottom:100px}.tribe-events-admin__issues-found-card-title{align-items:center;cursor:pointer;display:flex;padding:10px 20px 10px 17px;position:relative}.tribe-events-admin__issues-found-card-title img{height:21px;margin-right:14px;object-fit:contain;width:21px}.tribe-events-admin__issues-found-card-title h3{margin:0}.tribe-events-admin__issues-found-card-title span{color:#0f1031;display:block}.tribe-events-admin__issues-found-card-title i{background-image:url(../images/help/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:15px;margin:12px 20px;position:absolute;right:0;top:0;transition:all .3s ease;width:15px}.tribe-events-admin__issues-found-card-title.active i{background-image:url(../images/help/arrow-up.svg);background-repeat:no-repeat;top:5px}.tribe-events-admin__issues-found-card-description{display:none;padding:0 20px 20px 55px}.tribe-events-admin__issues-found-card-description p{color:#0f1031;font-size:16px;margin:0}.tribe-events-admin__issues-found-card-description-actions{display:flex;padding:20px 0 10px}.tribe-events-admin__issues-found-card-description-actions a{border-bottom:2px solid #334aff;color:#334aff;font-size:16px;margin-right:20px;padding-bottom:5px;text-decoration:none}.tribe-events-admin__issues-found-card-description-actions a:focus{box-shadow:none;outline:none}.tribe-events-admin__issues-found-card-description-actions a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin__ea-status-table-wrapper{overflow-x:auto}.tribe-events-admin__ea-status-table{border:1px solid #e1e1e4;border-radius:16px;margin:30px 0 40px;overflow:hidden}.tribe-events-admin__ea-status-table a{border-bottom:2px solid #334aff;color:#334aff;padding-bottom:2px;text-decoration:none}.tribe-events-admin__ea-status-table a:focus{box-shadow:none;outline:none}.tribe-events-admin__ea-status-table a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin__ea-status-table tr{align-items:center;display:flex}.tribe-events-admin__ea-status-table th{color:#0f1031;font-weight:700;line-height:1.17;margin-top:10px;padding:5px 25px}.tribe-events-admin__ea-status-table td{align-items:center;color:#0f1031;display:flex;font-size:16px;line-height:1.63;padding:10px 25px;width:25%}.tribe-events-admin__ea-status-table td:nth-child(2){width:45%}.tribe-events-admin__ea-status-table td:nth-child(3){display:flex;justify-content:flex-end;width:30%}.tribe-events-admin__ea-status-table-dark{background-color:#f9f7f4}.tribe-events-admin__ea-status-table td img{height:21px;margin-right:14px;object-fit:contain;width:21px}.tribe_events_page_tec-troubleshooting{background-color:#fff}#tribe-community,#tribe-ticketing{display:none}.tribe-events-admin__troubleshooting-notice{background-color:#161b7d;color:#fff;font-size:16px;line-height:1;margin-left:-1.55vw;padding:24px 0}.tribe-events-admin__troubleshooting-notice_title{margin:0 auto;max-width:1024px;padding-left:25px;width:90%}.tribe-events-admin__troubleshooting-notice_title a{border-bottom:2px solid #fff;color:#fff;font-size:16px;line-height:1;padding-bottom:2px;text-decoration:none}.tribe-events-admin__troubleshooting-notice_title a:focus{box-shadow:none;outline:none}.tribe-events-admin__troubleshooting-notice_title a:hover{border-bottom:2px solid #f3eee8;color:#f3eee8}.tribe_events_page_tribe-help #tec-help-community,.tribe_events_page_tribe-help #tec-help-ticketing{display:none}.tribe_events_page_tribe-help .tribe-events-admin-title{padding-top:25px}.tribe_events_page_tribe-help .tribe-events-admin-title img{height:67px}body.tribe-welcome #fs_connect{border:1px solid #e1e1e4;border-radius:16px;box-shadow:none;box-sizing:border-box;margin-left:22px}body.tribe-welcome #fs_connect .fs-actions{background-color:transparent}body.tribe-welcome #fs_connect .fs-permissions{border-top:1px solid #e1e1e4;margin:0 16px}body.tribe-welcome #fs_connect button{background-color:#3d54ff;border-color:#3d54ff}body.tribe-welcome #fs_connect .button-secondary{background:#fff;border-color:#3d54ff;color:#3d54ff}body.tribe-welcome #fs_connect a{color:#3d54ff}body.tribe-welcome #fs_connect a:focus{box-shadow:none;outline:none}body.tribe-welcome #fs_connect a:hover{color:#161b7d}.black-friday-promo{align-items:flex-start;display:flex;flex-direction:column-reverse;justify-content:space-between}.black-friday-promo .black-friday-promo__button{background:#3d54ff;border-color:transparent;border-radius:20px;color:#fff;font-size:12px;height:34px;line-height:32px;min-height:unset;width:115px}.black-friday-promo .black-friday-promo__button:active,.black-friday-promo .black-friday-promo__button:focus,.black-friday-promo .black-friday-promo__button:hover{background:#1c39bb;border-color:transparent;color:#fff}.black-friday-promo__promo{background-position:50%;background-repeat:no-repeat;border-radius:10px;display:grid;grid-template-areas:"a b";grid-template-columns:auto 150px;height:150px;margin:10px 0;max-width:100%;width:450px}.black-friday-promo__content{grid-area:b;padding-top:8px;text-align:center}.black-friday-promo__text{color:#0f1031;font-family:monospace;font-size:16px;line-height:1;text-transform:uppercase}.black-friday-promo__branding-image{max-width:390px;width:100%}.end-of-year-sale-promo{align-items:flex-start;display:flex;flex-direction:column-reverse;justify-content:space-between}.end-of-year-sale-promo .end-of-year-sale-promo__button{background:#3d54ff;border-color:transparent;border-radius:20px;color:#fff;font-size:12px;height:34px;line-height:32px;min-height:unset;width:115px}.end-of-year-sale-promo .end-of-year-sale-promo__button:active,.end-of-year-sale-promo .end-of-year-sale-promo__button:focus,.end-of-year-sale-promo .end-of-year-sale-promo__button:hover{background:#1c39bb;border-color:transparent;color:#fff}.end-of-year-sale-promo__promo{background-color:#fff;background-position:0 0;background-repeat:no-repeat;border-radius:10px;display:grid;flex-shrink:0;grid-template-areas:"a b";grid-template-columns:auto 160px;height:150px;margin:10px 0;max-width:100%;width:460px}.end-of-year-sale-promo__content{grid-area:b;padding-top:8px;text-align:center}.end-of-year-sale-promo__text{color:#0f1031;font-family:monospace;font-size:13px;line-height:1.2;margin-bottom:8px;text-transform:uppercase}.end-of-year-sale-promo__branding-image{max-width:390px;width:100%}.tribe-common .tec-admin__upsell{display:inline-block;font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-1);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-1)}.tribe-common .tec-admin__upsell-content{align-items:center;display:flex;padding:var(--tec-spacer-1);padding-right:var(--tec-spacer-2)}.tribe-common .tec-admin__upsell-icon,.tribe-common .tec-admin__upsell-icon-image{height:24px;width:24px}.tribe-common .tec-admin__upsell-text-wrap{margin-left:var(--tec-spacer-2)}.tribe-common .tec-admin__upsell-link{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold);text-decoration:none}.tribe-common .tec-admin__upsell--rounded-corners .tec-admin__upsell-content{background:var(--tec-color-accent-primary-background);border-radius:24px}.tribe-common .tec-admin__upsell--rounded-corners-text .tec-admin__upsell-text-wrap{background:rgba(51,74,255,.1);border-radius:14px;padding:var(--tec-spacer-1) var(--tec-spacer-2)}.tribe-common .tec-admin__upsell-link--dark{color:var(--tec-color-text-primary)}.tribe-common .tec-admin__upsell-link--underlined{text-decoration:underline}@media only screen and (-o-min-device-pixel-ratio:2/1),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){#tribe-loading span{background-image:url(../images/tribe-loading@2x.gif)}}@media screen and (max-width:782px){.tribe-half-column,.tribe-row .tribe-half-column:last-child{margin:0 0 20px;width:100%}input[type=email]{width:100%}.events-cal .subsubsub{float:none}.events-cal .search-box{width:98%}.events-cal #search-submit{width:100%}.events-cal .tablenav.top{display:none}}@media screen and (min-width:500px){.api-check .tribe-mascot{display:block}.api-check .notice-content{margin-right:180px}}@media screen and (min-width:320px){.tribe-marketing-notice .tribe-marketing-notice__icon{display:block}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:22px}}@media screen and (min-width:600px) and (max-width:782px){.tribe-marketing-notice .tribe-marketing-notice__content{margin-left:145px}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:22px;padding:0}}@media screen and (min-width:782px){.tribe-marketing-notice .tribe-marketing-notice__content{margin-left:130px}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:22px;padding:0}.events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice,.tribe-welcome .notice-tribe-banner .tribe-marketing-notice,.tribe_events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice{max-width:642px}}@media screen and (min-width:400px){.notice-tribe-banner .tribe-marketing-notice__icon{width:67px}}@media screen and (min-width:800px){.notice-tribe-banner h3{display:inline-block;font-size:1rem;margin:0 .5rem 0 0}.notice-tribe-banner a{line-height:1.5}.notice-tribe-banner a,.notice-tribe-banner p{font-size:1rem}.notice-tribe-banner p{margin:0 .5rem 0 0}.notice-tribe-banner .tribe-marketing-notice__cta{display:inline-block;margin-left:.5rem}}@media screen and (min-width:1215px){.events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice,.tribe_events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice{max-width:992px}.tribe-welcome .notice-tribe-banner .tribe-marketing-notice{max-width:1036px}}@media screen and (min-width:710px){.tribe-events-admin-content-wrapper{width:670px}.tribe-events-admin-card--2up{display:inline-block;width:calc(50% - 20px)}.tribe-events-admin-card--2up.tribe-events-admin-card--first{margin-right:36px}.tribe-events-admin-card--2up.tribe-events-admin-card--last{margin-right:0}.tribe-events-admin-card--2up .tribe-events-admin-card__image{height:100px;margin-bottom:12px}.tribe-events-admin-card--2up .tribe-events-admin-card__title{margin-bottom:27px;max-width:340px}.tribe-events-admin-card--3up{display:inline-block;margin-bottom:32px;width:calc(50% - 18px)}.tribe-events-admin-card--3up.tribe-events-admin-card--first{margin-right:32px}.tribe-events-admin-card--3up.tribe-events-admin-card--middle{margin-right:0}.tribe-events-admin-card__title{font-size:20px;line-height:23px}.tribe-events-admin-card--1up{display:inline-block;margin-left:32px;width:calc(50% - 18px)}.tribe-events-admin-card--1up .tribe-events-admin-card__description{height:71px}.tribe-events-admin-card--1up .tribe-events-admin-card__image{margin-bottom:28px}.tribe-events-admin-card--no-pad{height:154px;padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__title{margin-left:50%;padding:42px 0 10px}.tribe-events-admin-card--no-pad .tribe-events-admin-card__description{margin-left:50%}.tribe-events-admin-card--promo-blue{display:block;margin-left:0;min-height:170px;width:100%}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__description{float:left;max-width:300px}.tribe-events-admin-graphic{max-width:250px;top:0}.tribe-events-admin-graphic--desktop-only{display:block}.tribe-events-admin-graphic--mobile-only{display:none}.tribe-events-admin-card__form{float:right;width:300px}input[type=email].tribe-events-admin-card__input{width:300px}.tribe-events-admin-title{padding-top:50px}.tribe-events-admin-title__description{padding-top:15px}.tribe-events-admin-title__heading{font-size:48px;line-height:55px;margin:0}.tribe-events-admin-title__logo{margin-right:14px;padding-top:5px;width:40px}.tribe-events-admin-tickets .tribe-events-admin-card__title{font-size:18px}.tribe-events-admin-tickets .tribe-events-admin-card--2up .tribe-events-admin-card__title{font-size:18px;height:66px}.tribe-events-admin-tickets .tribe-events-admin-title__logo{margin-right:8px;padding-top:4px;width:60px}}@media screen and (min-width:1217px){.tribe-events-admin-content-wrapper{max-width:1060px;width:100%}.tribe-events-admin-card--2up{margin-right:36px;width:486px}.tribe-events-admin-card--3up{width:310px}.tribe-events-admin-card--3up.tribe-events-admin-card--first,.tribe-events-admin-card--3up.tribe-events-admin-card--middle{margin-right:36px}.tribe-events-admin-card--3up.tribe-events-admin-card--last{margin-right:0}.tribe-events-admin-card--1up{margin:0 0 36px;padding:33px 44px 30px;text-align:left;width:1012px}.tribe-events-admin-card--1up .tribe-events-admin-card__description{height:auto}.tribe-events-admin-card--1up .tribe-events-admin-card__image{float:left;margin:0 48px 10px 0}.tribe-events-admin-card--no-pad{padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__image{margin:0;padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__title{margin-left:50%;padding:42px 0 10px}.tribe-events-admin-card--no-pad .tribe-events-admin-card__description{margin-left:50%}.tribe-events-admin-card--promo-blue{min-height:150px}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__description{max-width:450px}.tribe-events-admin-graphic{max-width:none}.tribe-events-admin-card__form,input[type=email].tribe-events-admin-card__input{width:365px}.tribe-events-admin-quick-nav{border-radius:100px;display:inline-block;height:54px;margin:24px 0 94px;max-width:1010px;padding:0 36px 0 0}.tribe-events-admin-quick-nav__link-item{display:inline-block;padding:18px 10px 0}.tribe-events-admin-quick-nav__title{padding:19px 6px 17px 32px}.tribe-events-admin-tickets .tribe-events-admin-card--2up .tribe-events-admin-card__title{height:auto}}@media screen and (max-width:768px){.tribe-events-admin-header__logo-word-mark{width:285px}.tribe-events-admin-header__right-image{height:160px}.tribe-events-admin-header__description{max-width:100%}.tribe-events-admin-tab-nav li{margin-right:20px}.tribe-events-admin-tab-nav .selected{border-bottom:2px solid #334aff;padding-bottom:10px}.tribe-events-admin-2col-grid{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr))}.tribe-events-admin-3col-grid{grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr))}.tribe-events-admin-extensions-title{max-width:100%}.tribe-events-admin-cta{align-items:flex-start;flex-direction:column;overflow:hidden}.tribe-events-admin-footer-logo{width:225px}.tribe-events-admin__system-information{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr));margin:50px 0}}@media screen and (max-width:480px){.tribe-events-admin-header__logo-word-mark{width:260px}.tribe-events-admin-header__right-image{height:120px}.tribe-events-admin-header__title{font-size:35px}.tribe-events-admin-header__description{max-width:100%}.tribe-events-admin-tab-nav{border:1px solid #e1e1e4;border-radius:20px;flex-direction:column;padding:18px 22px}.tribe-events-admin-tab-nav li{margin-bottom:18px;margin-right:0}.tribe-events-admin-tab-nav .selected{border-bottom:2px solid #334aff;padding-bottom:10px;width:fit-content}.tribe-events-admin__line{border:none}.tribe-events-admin-products-card,.tribe-events-admin-products-description{display:none}.tribe-events-admin-container,.tribe-events-admin-content-wrapper.tribe-events-admin-container{max-width:90%}.tribe-events-admin-2col-grid,.tribe-events-admin-3col-grid,.tribe-events-admin-4col-grid{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr))}.tribe-events-admin-extensions-title{max-width:100%}.tribe-events-admin-cta__image{height:auto;width:90%}.tribe-events-admin-cta__content,.tribe-events-admin__troubleshooting-cta{align-items:flex-start;padding:32px 23px 45px;width:auto}.tribe-events-admin-cta__content-title{font-size:22px;text-align:left}.tribe-events-admin-cta__content-subtitle{text-align:left}.tribe-events-admin-footer-logo{width:210px}.tribe-events-admin__system-information{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr));margin:50px 0}.tribe-events-admin__troubleshooting-notice{margin-left:-20px}.tribe-events-admin__troubleshooting-notice_title{max-width:90%}}@media screen and (min-width:1200px){.tribe-events-admin-products-card__group{max-width:47%}}@media screen and (min-width:500px) and (max-width:1080px){.tribe-events-admin-4col-grid{grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (min-width:768px){.tribe-events-admin-section-header{font-size:28px;line-height:1.143;margin:50px 0 21px}}@media screen and (max-width:1080px){.tribe-events-admin-cta__content-title{font-size:24px}}@media only screen and (max-width:1920px){.tribe-events-admin__system-information-widget-copy{right:20.5vw}}@media only screen and (max-width:1280px){.tribe-events-admin__system-information-widget-copy{right:22vw}}@media only screen and (max-width:768px){.tribe-events-admin__system-information-widget-copy{left:10px;right:auto}.tribe-events-admin__recent-log-filters{flex-direction:column}.tribe-events-admin__recent-log-filters-field{margin-bottom:30px;margin-right:0}.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:first-child,.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(2),.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(3){padding-right:30px}.tribe-events-admin__issues-found-card-title h3{max-width:90%}}@media only screen and (max-width:480px){.tribe-events-admin__system-information-widget-copy{left:10px;right:auto}.tribe-events-admin__recent-log-filters{flex-direction:column}.tribe-events-admin__recent-log-filters-field{margin-bottom:30px;margin-right:0}.tribe-events-admin__recent-log-filters-select-wrapper:after{right:25px}.tribe-events-admin__issues-found-card-title h3{max-width:80%}.tribe-events-admin__ea-status-table{overflow:scroll}.tribe-events-admin__ea-status-table td{min-width:150px}.tribe-events-admin__ea-status-table td:nth-child(2),.tribe-events-admin__ea-status-table td:nth-child(3){width:100%}}@media (min-width:1024px){.black-friday-promo{align-items:center;flex-direction:row}.black-friday-promo__branding{padding-right:10px;width:calc(100% - 450px)}.end-of-year-sale-promo{align-items:center;flex-direction:row}.end-of-year-sale-promo__branding{padding-right:10px;width:calc(100% - 460px)}}@media (max-width:525px){.end-of-year-sale-promo__promo{grid-template-areas:"a" "b";grid-template-columns:auto;margin:20px auto;padding-top:100px;width:300px}}
1
+ .invalid input,input:out-of-range{border:2px solid red!important}.valid input{border:1px solid green}.clearfix{zoom:1}.placeholder{color:#999;cursor:text;padding:4px}input::placeholder,textarea::placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.bubble{background-color:#f9f9f9;border:1px solid #dfdfdf;border-radius:3px;border-spacing:0;padding:10px}.tribe-sticky-tooltip{color:#bbb}td.tribe_message{padding-bottom:10px!important}#tribe_thanks{float:left;margin:5px 0 0;width:200px}.tribe_brand{font-family:Georgia,serif!important;font-size:17px!important;font-weight:400;margin:8px 0}.tribe-rating{color:#3d54ff}.tribe-rating:hover{color:#1c39bb}#tribe-upgrade{background:#f6f6f6;border:1px solid #ccc;border-radius:5px;margin:20px 0 30px;padding:0 20px 20px}#tribe-upgrade .message{background-color:#ffffe0;border:1px solid #e6db55;border-radius:3px;padding:6px 12px}table.plugins .tribe-plugin-update-message{background:#d54e21;color:#fff;display:inline-table;margin:6px 0;padding:10px 12px}table.plugins .tribe-plugin-update-message h4{display:inline;font-weight:700;margin-right:8px}table.plugins .tribe-plugin-update-message h4:after{content:" \00BB "}table.plugins .tribe-plugin-update-message a{color:#fff;text-decoration:underline}.tribe-settings-form{max-width:1000px}.tribe-settings-form fieldset{clear:both;display:inline-block;padding:10px 0}.tribe-settings-form fieldset.tribe-field-license_key legend{width:auto}.tribe-settings-form legend{float:left;font-weight:700;margin-right:20px;width:220px}.tribe-settings-form .tribe-field-wrap{float:left;max-width:500px}.tribe-settings-form .tribe-field-wrap :first-child{margin-top:0}.tribe-settings-form .tribe-field-checkbox_list label,.tribe-settings-form .tribe-field-radio label{display:block;margin:5px 0 5px 20px;text-indent:-20px}.tribe-settings-form .tribe-field-checkbox_list label>p,.tribe-settings-form .tribe-field-radio label>p{margin-left:1px;text-indent:0}.tribe-settings-form .tribe-field-checkbox_list label input,.tribe-settings-form .tribe-field-radio label input{margin-right:5px}.tribe-settings-form .tribe-settings-form-wrap .description,.tribe-settings-form .tribe-settings-form-wrap fieldset,.tribe-settings-form fieldset[id^=tribe-field-geoloc_]{padding-left:12px}.tribe-settings-form .tribe-settings-form-wrap fieldset .description{margin-left:0;max-width:450px;padding-left:0}.tribe-settings-form .tribe-settings-form-wrap fieldset .tribe-style-selection{margin-bottom:18px}.tribe-settings-form .tribe-settings-form-wrap #tribe-field-stylesheetOption .description{color:#999;margin-left:1px}.tribe-settings-form .tribe-settings-form-wrap h3{background-color:#f9f9f9;margin-bottom:10px;padding:6px 0 6px 12px}.tribe-settings-form .tribe-settings-form-wrap .contained,.tribe-settings-form .tribe-settings-form-wrap .system-info,.tribe-settings-form .tribe-settings-form-wrap .tribe-sysinfo-optin-msg,.tribe-settings-form .tribe-settings-form-wrap h3+p{margin:0 0 10px;padding-left:12px}.tribe_settings .tribe-field-indent{margin-left:245px}.tribe_settings #pu_dashboard_message{display:none}.tribe_settings .tribe-errors-list{margin-left:15px}.tribe_settings .expiring-license{color:red}.tribe_settings .tribe-error{border:1px solid red}.tribe_settings .tribe-field-description{margin-bottom:0;position:relative;top:-12px}.tribe_settings #ical-link{top:-14px}#modern-tribe-info{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;margin:20px 0;padding:8px 20px 12px}#modern-tribe-info img{margin:10px 0}#modern-tribe-info ul{list-style:disc;margin-left:20px}#modern-tribe-info ul ul{list-style:circle}.tribe-field-inline-dropdown{margin-left:0;margin-right:0}.tribe-field-inline-text{line-height:28px;margin:0 2px}.tribe-field-textarea.tribe-size-small textarea{height:60px;width:180px}.tribe-field-textarea.tribe-size-medium textarea{height:80px;width:300px}.tribe-field-textarea.tribe-size-large textarea{height:120px;width:450px}.tribe-field-email.tribe-size-small input,.tribe-field-license_key.tribe-size-small input,.tribe-field-text.tribe-size-small input{width:50px}.tribe-field-email.tribe-size-medium input,.tribe-field-license_key.tribe-size-medium input,.tribe-field-text.tribe-size-medium input{width:225px}.tribe-field-email.tribe-size-large input,.tribe-field-license_key.tribe-size-large input,.tribe-field-text.tribe-size-large input{width:450px}.tribe-field-dropdown.tribe-size-small select{width:100px}.tribe-field-dropdown.tribe-size-medium select{width:300px}.tribe-field-dropdown.tribe-size-large select{width:450px}.tribe-field-wrapped_html.tribe-size-large .tribe-field-wrap{max-width:600px}.tribe-field-wrapped_html.tribe-size-large .tribe-field-wrap .description{max-width:100%}.tribe-field-dropdown_chosen.tribe-size-small select{width:100px}.tribe-field-dropdown_chosen.tribe-size-medium select{width:200px}.tribe-field-dropdown_chosen.tribe-size-large select{width:300px}.tribe-field-wrap .tooltip:first-child{font-style:normal}.tribe-field.indent{margin-left:252px;width:75%}.tribe-field.indent legend{font-weight:400;width:auto}.tribe-field.indent .tribe-field-wrap{padding-right:12px}.tribe-field.indent.tribe-field-radio .tribe-field-wrap{clear:left;margin-top:12px}.tribe-field.light-bordered{background-color:#fff;border:1px solid #d3d3d3}.ajax-loading-license,.invalid-key,.valid-key{display:none;margin:0 5px}.ajax-loading-license{position:relative;top:5px}.key-validity{display:inline-block}.invalid-key,.optin-fail{color:red}.optin-success,.valid-key{color:green}.valid-key.service-msg{color:#b72}#additional-field-table{margin-bottom:20px}.tribe-admin-box-left{float:left;width:20%}.tribe-admin-box-left,.tribe-admin-box-right{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;margin:20px 0;padding:0 20px 15px}.tribe-admin-box-right{float:right;width:68%}.ajax-loader{float:right;margin:10px}.tribe-arrangeable-item{border:1px solid #d3d3d3;border-radius:3px}.tribe-arrangeable-item .ui-state-default{border:none}.tribe-arrangeable-item-top{padding:6px}.tribe-arrangeable-item-top:hover{cursor:move}.tribe-arrangeable-action{float:right}.tribe-arrangeable-child{background-color:#f9f9f9;border-top:1px solid #d3d3d3;display:none;padding:25px}.tribe-arrangeable-child label{display:block;margin:0 0 7px}.tribe_events_active_filter_type_options{margin:10px 0}.tribe_events_active_filter_type_options label{margin:7px 0}#event_organizer td small,.OrganizerInfo td small{display:block;margin:0;max-width:250px}#event_organizer .organizer-email,.OrganizerInfo .organizer-email{vertical-align:top}.tribe-table-field-label{max-width:100%;width:200px}#tribe-help-general,#tribe-help-sidebar{float:left;margin-top:20px}#tribe-help-general p{margin-left:15px}#tribe-help-general ul{list-style-type:square}#tribe-help-general ol,#tribe-help-general ul{margin-bottom:20px;margin-left:35px}#tribe-help-general h3{background-color:#f9f9f9;margin-bottom:10px;padding:6px 0 6px 12px}#tribe-help-general h3~h3{margin-top:2.25em}#tribe-help-general h3+p{margin:0 0 20px;padding-left:12px}#tribe-help-general{width:65%}.tribe-help-section{padding-bottom:10px}.tribe-section-type-box{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;padding:8px 20px 12px}.tribe-section-type-box img{height:auto;margin:10px 0;max-width:300px}.tribe-section-type-box ul{list-style:disc;margin-left:20px}.tribe-section-type-box ul ul{list-style:circle}#tribe-log-controls{padding-bottom:1rem;padding-left:12px}#tribe-log-controls>div{display:inline-block;padding-right:1rem}#tribe-log-controls .working{opacity:1;transition:opacity .2s}#tribe-log-controls .working.hidden{opacity:0;transition:opacity .2s}#tribe-log-viewer,#tribe-system-info dl.support-stats,.template-updates-wrapper{background:#000;border-radius:2px;color:#888;max-height:400px;overflow:scroll;padding:10px}#tribe-system-info dl.support-stats dt,.template-updates-wrapper dt{clear:both;float:left;font-weight:700;text-transform:uppercase;width:25%}#tribe-system-info dl.support-stats dd,.template-updates-wrapper dd{margin-left:25%;padding-left:10px}.system-info-copy .system-info-copy-btn{padding:6px}.system-info-copy .system-info-copy-btn .dashicons{padding-right:10px}.template-updates-wrapper p{margin-top:0}#tribe-help-sidebar{margin:20px 0 0 3%;max-width:225px;width:32%}.tribe-help-plugin-info{border:1px solid #ccc;padding:0 12px 12px}.tribe-help-plugin-info dd,.tribe-help-plugin-info dt{display:inline;margin:0}.tribe-help-plugin-info dt{font-weight:700}.tribe-help-plugin-info dd:after{content:"";display:block;height:.4em}.tribe-help-plugin-info dd:last-child:after{height:0}.tribe-help-plugin-info+.tribe-help-plugin-info{margin-top:20px}.tribe-help-plugin-info>div{line-height:2em}.tribe-help-plugin-info .star-rating{display:inline-block;margin-left:3px;position:relative;top:-2px}.tribe-help-plugin-info .tribe-list-addons{color:#21a6cb;font-size:24px;list-style:circle inside;margin-bottom:10px;margin-top:10px;padding-left:4px}.tribe-help-plugin-info .tribe-list-addons a{font-size:13px;left:-5px;position:relative;top:-5px}.tribe-help-plugin-info .tribe-list-addons .tribe-active-addon{list-style:disc inside}.ui-widget-overlay{background:#666;filter:alpha(opacity=50);opacity:.5}.ui-widget-shadow{background:#000;border-radius:5px;filter:alpha(opacity=20);margin:-5px 0 0 -5px;opacity:.2;padding:5px}.ui-resizable{position:relative}.ui-resizable-handle{display:block;font-size:.1px;position:absolute;z-index:99999}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px}.ui-dialog{padding:.2em;position:relative;width:375px}.ui-dialog .ui-dialog-titlebar{padding:.5em .3em .3em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0 .2em}.ui-dialog .ui-dialog-titlebar-close{height:18px;margin:-10px 0 0;padding:1px;position:absolute;right:.3em;top:50%;width:19px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin-left:-8px;margin-top:-8px}.ui-dialog .ui-dialog-titlebar-close:focus,.ui-dialog .ui-dialog-titlebar-close:hover{padding:0}.ui-dialog .ui-dialog-content{background:none;border:0;overflow:auto;padding:.5em 1em;zoom:1}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0;margin:.5em 0 0;padding:.3em 1em .5em!important;text-align:right}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;line-height:1.4em;margin:.5em .4em!important;overflow:visible;padding:.2em .6em .3em;text-shadow:none;width:auto}.ui-dialog .ui-resizable-se{bottom:3px;height:14px;right:3px;width:14px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:none!important;text-align:center}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button .ui-button-text{display:block;line-height:1.4}#ui-datepicker-div{display:none}#tribe-loading{background:#fff;background:hsla(0,0%,100%,.8);display:none;height:100%;left:0;position:absolute;top:0;transition:all 1s linear;width:100%;z-index:4}#tribe-loading span{background:url(../images/tribe-loading.gif) 0 0 no-repeat;background-size:32px 32px;height:32px;left:50%;margin:-16px 0 0 -16px;position:absolute;top:50%;width:32px}.tribe_update_page{max-width:850px}.tribe-half-column{float:left;margin-bottom:30px;margin-right:5%;width:45%}.tribe-row:after,.tribe-row:before{content:"";display:table}.tribe-row,.tribe-row:after{clear:both}.tribe-row .tribe-half-column:last-child{margin-right:0;width:50%}.tribe_update_page h2{font-size:30px;line-height:1.2;margin-bottom:20px}.tribe_update_page h3{font-size:24px;font-weight:400;line-height:24px;margin-top:0}.tribe_update_page h4{font-size:18px;font-weight:600;line-height:18px;margin:0}.tribe_update_page p{font-size:15px}p.tribe-update-message{font-size:18px;font-weight:400}.tribe_update_page h4:before{content:"\f145";font-family:dashicons;font-size:34px;line-height:1;margin-right:5px;position:relative;top:5px}a.tribe-rating-link{text-decoration:none}.tribe-update-links{margin-top:30px}.tribe_update_page li:before{content:"\2022";padding-right:3px}.tribe_update_page .rss-widget{margin:1em 0}.tribe_update_page a.rsswidget{font-size:14px;font-weight:400;line-height:1}.tribe_update_page .rss-widget li:before{display:none}.tribe-events-widget-admin-form__input-section p{margin:0}.tribe-events-widget-admin-form__input-section h4{margin:.5em 0}.tribe-update-bar{display:inline-block}.tribe-update-bar .progress{border:1px solid #ccc;float:left;margin-right:1rem;padding:1px;width:18rem}.tribe-update-bar .progress .bar{background:#7ad03a;height:1rem;width:1%}#tribe-dialog-wrapper>div{padding:1rem}#tribe-dialog-wrapper>div .stage{display:none}#tribe-dialog-wrapper #heading{background:#fff}#tribe-dialog-wrapper label{display:block}#tribe-dialog-wrapper .select-single-container{border:1px solid #888;height:300px;overflow-y:scroll}#tribe-dialog-wrapper .select-single-container label{opacity:1;padding:3px 5px;transition:opacity .2s}#tribe-dialog-wrapper .select-single-container label:nth-child(odd){background:#fff}#tribe-dialog-wrapper .select-single-container label.selected{background:#0073aa;color:#fff;font-weight:700}#tribe-dialog-wrapper .select-single-container label input{display:none}#tribe-dialog-wrapper .select-single-container.updating label{opacity:.35;transition:opacity .2s}.ui-front{z-index:1000000}.wp-list-table.plugins .column-description .update-message{color:#d54e21}.api-check{min-height:100px;padding:1em}.api-check+.notice-dismiss:hover:before{color:#fff}.api-check:after,.api-check:before{content:"";display:table}.api-check:after{clear:both}.api-check .tribe-mascot{bottom:0;display:none;padding:0 1rem 0 0;position:absolute;right:0;top:0}.api-check .tribe-mascot img{display:inline-block;height:100%;max-height:150px;max-width:150px;vertical-align:middle;width:auto}.api-check p{line-height:1.7;margin-bottom:1em}.api-check a{text-decoration:none}.api-check a:hover{text-decoration:underline}.api-check .plugin-list{display:inline;font-weight:600;margin:0;padding:0}.api-check .plugin-list span.plugin-invalid:after{content:", "}.api-check .plugin-list span.plugin-invalid:last-of-type:after{content:""}.tribe-marketing-notice{padding:1em}.tribe-marketing-notice+.notice-dismiss:hover:before{color:#fff}.tribe-marketing-notice:after,.tribe-marketing-notice:before{content:"";display:table}.tribe-marketing-notice:after{clear:both}.tribe-marketing-notice .tribe-marketing-notice__icon{display:none;flex-shrink:0;padding:0;position:static}.tribe-marketing-notice .tribe-marketing-notice__icon img{display:inline-block;max-height:100%;max-width:none;vertical-align:middle;width:100%}.tribe-marketing-notice h3{margin-bottom:.5em;margin-top:.5em}.tribe-marketing-notice p{line-height:1.7;margin-bottom:.5em}.tribe-marketing-notice a{text-decoration:none}.tribe-marketing-notice a:hover{text-decoration:underline}#wpcontent .notice-tribe-banner{align-items:center;background:#161b7d;border:0;box-shadow:none;display:flex;justify-content:flex-start;margin:0 0 16px;padding-right:0}.notice-tribe-banner .tribe-marketing-notice__icon{width:47px}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:0;padding:1em 0}.notice-tribe-banner h3{color:#fff;display:block;font-size:.875rem;line-height:1.25;margin:0 0 .25rem}.notice-tribe-banner a{border-bottom:1px solid #fff;line-height:1.25;margin:0;text-decoration:none}.notice-tribe-banner a:hover{text-decoration:none}.notice-tribe-banner a,.notice-tribe-banner p{color:#fff;display:inline-block;font-size:.875rem;line-height:1.25}.notice-tribe-banner p{display:inline-block;margin:0;padding:0}.notice-tribe-banner .tribe-marketing-notice{align-items:center;display:flex;justify-content:flex-start;margin:0 auto;min-height:65px;padding:0 .75rem;width:100%}.events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice,.tribe-welcome .notice-tribe-banner .tribe-marketing-notice,.tribe_events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice{max-width:100%}.notice-tribe-banner .notice-dismiss{position:static}.notice-tribe-banner .notice-dismiss:before{color:#eaf1ff}.tribe-dropdown,.tribe-ea-dropdown{max-width:100%;width:auto}.tribe-dropdown.select2-container .selection,.tribe-ea-dropdown.select2-container .selection{margin-top:inherit}.tribe-dropdown .select2-selection--single,.tribe-ea-dropdown .select2-selection--single{height:32px}.tribe-dropdown .select2-selection--single .select2-selection__clear,.tribe-ea-dropdown .select2-selection--single .select2-selection__clear{line-height:28px}.tribe-dropdown .select2-selection--single .select2-selection__rendered,.tribe-ea-dropdown .select2-selection--single .select2-selection__rendered{line-height:32px;padding-right:28px}.tribe-dropdown.select2-container--focus .select2-selection--single,.tribe-ea-dropdown.select2-container--focus .select2-selection--single{border-color:#5897fb;box-shadow:0 0 5px rgba(0,0,0,.1)}.tribe-dropdown.select2-container--open .select2-search__field,.tribe-ea-dropdown.select2-container--open .select2-search__field{padding:0}.tribe-dropdown.select2-container--open .select2-dropdown--below,.tribe-ea-dropdown.select2-container--open .select2-dropdown--below{border-top:1px solid #aaa;margin-top:-1px}.tribe-dropdown.select2-container--open .select2-dropdown--above,.tribe-ea-dropdown.select2-container--open .select2-dropdown--above{border-bottom:1px solid #aaa;margin-bottom:-16px}.tribe-dropdown.select2-container--open .select2-selection--single,.tribe-ea-dropdown.select2-container--open .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#aaa}.tribe-dropdown.select2-container--open .select2-selection__arrow b,.tribe-ea-dropdown.select2-container--open .select2-selection__arrow b{transform:rotate(180deg)}.tribe-dropdown.select2-selection--single,.tribe-ea-dropdown.select2-selection--single{background-image:none;border:1px solid #ccc;border-radius:3px;overflow:hidden}.tribe-dropdown.select2-selection--single>.select2-selection__rendered,.tribe-ea-dropdown.select2-selection--single>.select2-selection__rendered{white-space:normal}.tribe-dropdown.select2-selection--single .select2-selection__arrow,.tribe-ea-dropdown.select2-selection--single .select2-selection__arrow{background:transparent;background-image:none;border-left:0;top:2px;width:26px}.tribe-dropdown.select2-selection--single .select2-selection__arrow b,.tribe-ea-dropdown.select2-selection--single .select2-selection__arrow b{background:#fff url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E") no-repeat right 5px top 55%;background-size:auto;background-size:16px 16px;border:0;bottom:0;display:block;height:auto;left:0;margin:0;padding:0;right:0;top:0;width:auto}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered{background-image:none;border:1px solid #ccc;border-radius:3px;min-height:25px}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline{line-height:25px}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline input,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-search--inline input{padding-bottom:0;padding-top:0}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{line-height:19px;margin-top:2px;padding-bottom:0;padding-top:0}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice div,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice div{line-height:inherit}.tribe-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice__remove,.tribe-ea-dropdown .select2-selection--multiple .select2-selection__rendered .select2-selection__choice__remove{left:4px;top:3px;transition-property:border,color}.select2-results .select2-results__option{color:#939393;font-weight:400;margin-bottom:0}.select2-results .select2-results__option[aria-disabled=true]{background-color:#e0e0e0}.select2-results.select2-results__option--highlighted{background-color:#efefef;color:#a1a1a1;cursor:default;display:block}.wp-core-ui .button-red{background-color:#a00;border-color:#9b2124;box-shadow:inset 0 1px 0 rgba(120,200,230,.5);color:#fff;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.1)}.wp-core-ui .button-red.focus,.wp-core-ui .button-red.hover,.wp-core-ui .button-red:focus,.wp-core-ui .button-red:hover{background-color:#a00;border-color:#7f1c1f;box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.3)}.wp-core-ui .button-red.focus,.wp-core-ui .button-red:focus{border-color:#500f0e;box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.wp-core-ui .button-red.active,.wp-core-ui .button-red.active:focus,.wp-core-ui .button-red.active:hover,.wp-core-ui .button-red:active{background:#7f1c1f;border-color:#601312 #ae2426 #ae2426;box-shadow:inset 0 1px 0 rgba(0,0,0,.1);color:hsla(0,0%,100%,.95);text-shadow:0 1px 0 rgba(0,0,0,.1)}.wp-core-ui .button-red-disabled,.wp-core-ui .button-red:disabled,.wp-core-ui .button-red[disabled]{background:#ba292b!important;border-color:#7f1c1f!important;box-shadow:none!important;color:#e79496!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.ticket_form .select2-container .select2-selection--single .select2-selection__arrow{display:none}.clear{zoom:1}.clear:after,.clear:before{content:" ";display:table}.clear:after{clear:both}.checkmark:after{border:solid #0ab152;border-width:0 3px 3px 0;content:"";display:block;height:15px;transform:rotate(45deg);width:8px}.checkmark.checkmark-right:after{float:right;margin-right:2em}.checkmark.checkmark-left:after{float:left;margin-left:2em}.checkmark.no-checkmark:after{display:none}.complete,.ok,.on,.yes,[data-status=complete],[data-status=ok],[data-status=on],[data-status=yes]{color:#0ab152}.incomplete,.ko,.no,.off,[data-status=incomplete],[data-status=ko],[data-status=no],[data-status=off]{color:#ff2500}.plugin-card-event-tickets-plus .column-downloaded,.plugin-card-event-tickets-plus .column-rating,.plugin-card-event-tickets-plus .column-updated,.plugin-card-event-tickets .column-downloaded,.plugin-card-event-tickets .column-rating,.plugin-card-event-tickets .column-updated,.plugin-card-events-calendar-pro .column-downloaded,.plugin-card-events-calendar-pro .column-rating,.plugin-card-events-calendar-pro .column-updated,.plugin-card-events-community-tickets .column-downloaded,.plugin-card-events-community-tickets .column-rating,.plugin-card-events-community-tickets .column-updated,.plugin-card-events-community .column-downloaded,.plugin-card-events-community .column-rating,.plugin-card-events-community .column-updated,.plugin-card-image-widget-plus .column-downloaded,.plugin-card-image-widget-plus .column-rating,.plugin-card-image-widget-plus .column-updated,.plugin-card-image-widget .column-downloaded,.plugin-card-image-widget .column-rating,.plugin-card-image-widget .column-updated,.plugin-card-the-events-calendar .column-downloaded,.plugin-card-the-events-calendar .column-rating,.plugin-card-the-events-calendar .column-updated,.plugin-card-tribe-eventbrite .column-downloaded,.plugin-card-tribe-eventbrite .column-rating,.plugin-card-tribe-eventbrite .column-updated,.plugin-card-tribe-filterbar .column-downloaded,.plugin-card-tribe-filterbar .column-rating,.plugin-card-tribe-filterbar .column-updated{display:none}body.tec-help,body.tribe-welcome{background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.tec-help .update-nag,body.tribe-welcome .update-nag{display:none}body.tec-help #wpcontent,body.tribe-welcome #wpcontent{padding:0}body.tec-help .tribe_settings,body.tribe-welcome .tribe_settings{margin:0}body.tec-help #wpfooter,body.tec-help .tribe_settings>h1,body.tribe-welcome #wpfooter,body.tribe-welcome .tribe_settings>h1{display:none}body.tec-help #wpbody-content,body.tribe-welcome #wpbody-content{padding-bottom:25px}body.tec-help .tribe-dependency-error,body.tribe-welcome .tribe-dependency-error{display:none}.tribe-events-admin-content-wrapper{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;margin:0 auto;padding:0 0 30px;width:calc(100% - 40px)}.tribe-events-admin-card{background:#fff;border:1px solid #e1e1e4;border-radius:16px;box-sizing:border-box;display:block;margin:0 auto 36px;padding:27px;text-align:center}.tribe-events-admin-card--2up .tribe-events-admin-card__title{max-width:260px}.tribe-events-admin-card--3up .tribe-events-admin-card__description{height:71px}.tribe-events-admin-card--3up .tribe-events-admin-card__image{margin-bottom:28px}.tribe-events-admin-card__button{background-color:#fff;border:none;color:#3d54ff;font-size:14px;font-weight:700;letter-spacing:1px;line-height:16px;position:absolute;right:20px;text-transform:uppercase;top:17px}.tribe-events-admin-card__button:hover{color:#161b7d}.tribe-events-admin-card__description{color:#000;font-size:14px;font-style:normal;font-weight:400;line-height:22px;margin-top:16px}.tribe-events-admin-card__image{display:block;height:100px;margin:0 auto}.tribe-events-admin-card__link{color:#3d54ff;display:inline-block;font-size:16px;font-style:normal;font-weight:700;line-height:18px;margin-top:24px;position:relative;text-decoration:none}.tribe-events-admin-card__link:hover{color:#161b7d}.tribe-events-admin-card__link:after{border-style:solid;border-width:0 0 1px;bottom:-4px;content:"";left:0;position:absolute;width:100%}.tribe-events-admin-card__title{color:#0f1031;font-size:20px;font-weight:700;line-height:23px;margin:auto}.tribe-events-admin-card-grid{max-width:1048px}input[type=checkbox].tribe-common-switch__input{display:none}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label{background:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;cursor:pointer;display:block;height:18px;outline:0;padding:3px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:27px}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:after,input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:before{content:"";display:block;height:10px;position:relative;width:10px}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:after{background:#878787;border-radius:2px;content:"";left:0;transition:all .2s ease}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label:before{display:none}input[type=checkbox].tribe-common-switch__input+.tribe-common-switch__label::selection{background:none}input[type=checkbox].tribe-common-switch__input:checked+.tribe-common-switch__label:after{background:#2e709d;left:50%}.tribe-events-admin-header__logo-word-mark{display:inline-block;height:auto;margin:0 0 26px;vertical-align:middle;width:312px}.tribe-events-admin-header{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:45px 0 0}.tribe-events-admin-header__right-image{height:280px;position:absolute;right:0;top:0;width:auto;z-index:-1}.tribe-events-admin-header__title{font-size:48px;line-height:48px;margin:0 0 18px}.tribe-events-admin-header__description{font-size:18px;line-height:28px;margin-bottom:44px;max-width:60%}.tribe-events-admin-tab-nav{display:flex;margin:0}.tribe-events-admin-tab-nav li{cursor:pointer;font-size:16px;font-weight:500;margin-bottom:0;margin-right:30px}.tribe-events-admin-tab-nav li:hover{color:#334aff}.tribe-events-admin-tab-nav .selected{border-bottom:3px solid #334aff;color:#334aff;padding-bottom:17px}.tribe-events-admin-tab-nav li:after{background:#334aff;border-radius:100px;bottom:0;content:"";display:block;height:3px;left:0;position:absolute;right:0}.tribe-events-admin__line{border-top:1px solid #e1e1e4}.tribe-events-admin-products-description{color:#0f1031;font-size:14px;line-height:2}.tribe-events-admin-products-card{align-items:center;border:1px solid #e1e1e4;border-radius:20px;display:flex;padding:10px 15px}.tribe-events-admin-products-card__icon{height:40px;object-fit:contain;width:40px}.tribe-events-admin-products-card__group{margin:0 20px;max-width:55%}.tribe-events-admin-products-card__group-title{color:#0f1031;font-size:16px;font-weight:700;line-height:1;margin:0}.tribe-events-admin-products-card__group-description{font-size:12px;margin-top:5px}.tribe-events-admin-products-card__button{background-color:#fff;border:1px solid #e1e1e4;border-radius:20px;color:#0f1031;font-size:12px;font-weight:700;letter-spacing:1px;line-height:16px;margin-left:auto;padding:10px 15px;text-decoration:none;text-transform:uppercase}.tribe-events-admin-products-card__button:hover{background-color:#334aff;color:#fff}.tribe-events-admin-products-card__button:active,.tribe-events-admin-products-card__button:focus{box-shadow:none;outline:none}.tribe-events-admin-products-card__button--active,.tribe-events-admin-products-card__button--active:active,.tribe-events-admin-products-card__button--active:focus,.tribe-events-admin-products-card__button--active:hover{background:rgba(61,84,255,.16);color:#334aff;cursor:not-allowed;text-transform:uppercase}.tribe-events-admin-card--1up{width:100%}.tribe-events-admin-card--no-pad{padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__image{display:block;height:152px;margin:0;padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__title{font-size:28px;line-height:34px;text-align:left}.tribe-events-admin-card--no-pad .tribe-events-admin-card__description{margin:0;padding:0;text-align:left}.tribe-events-admin-card--no-pad .tribe-events-admin-card__link{margin:0;padding:0}.tribe-events-admin-card--faq{display:inline-block;font-size:0;height:147px;margin:0 0 0 30px;padding:24px 16px 22px 20px;width:230px}.tribe-events-admin-card--faq:first-child{margin-left:0}.tribe-events-admin-card--faq img{float:left;height:22px;width:16px}.tribe-events-admin-card--faq .tribe-events-admin-faq__question{color:#334aff;font-size:16px;line-height:19px;margin:0 0 12px 26px;text-align:left}.tribe-events-admin-card--faq .tribe-events-admin-faq__answer{font-size:13px;line-height:16px;margin-left:26px;text-align:left}.tribe-events-admin-video{border-radius:16px;height:200px;margin-bottom:72px;-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 0);overflow:hidden;-webkit-transform:rotate(.000001deg)}.tribe-events-admin-video iframe{width:100%}.tribe-events-admin-card--promo-blue{background-color:#3d54ff;background-image:url(../images/welcome/promo.jpg)}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__description{color:#fff;font-size:16px;margin-bottom:16px;text-align:left}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__title{color:#fff;text-align:left}.tribe-events-admin-graphic{position:absolute;right:0;top:106px;z-index:-1}.tribe-events-admin-graphic--desktop-only{display:none}.tribe-events-admin-graphic--mobile-only{display:block}.tribe-events-admin-card__form{position:relative}input[type=email].tribe-events-admin-card__input{background:#fff;border:1px solid #e1e1e4;border-radius:16px;box-sizing:border-box;font-size:14px;height:54px}input[type=email].tribe-events-admin-card__input::placeholder{color:rgba(15,16,49,.72);letter-spacing:.5px;padding-left:10px}.tribe-events-admin-container,.tribe-events-admin-content-wrapper.tribe-events-admin-container{margin:0 auto;max-width:1024px;width:90%}.tribe-events-admin-2col-grid{display:grid;grid-gap:15px 30px;gap:15px 30px;grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}.tribe-events-admin-3col-grid{display:grid;grid-gap:30px;gap:30px;grid-template-areas:". . .";grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}.tribe-events-admin-4col-grid{display:grid;grid-gap:30px;gap:30px;grid-template-areas:". . . .";grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr}.tribe-events-admin-products{margin:10px 0 0}.tribe-events-admin-quick-nav{background:#fff;border:1px solid #e1e1e4;border-radius:16px;box-sizing:border-box;display:block;margin:40px 0 78px;padding:18px 23px 2px}.tribe-events-admin-quick-nav__link{color:#3d54ff;font-size:16px;font-weight:700;line-height:18px;text-align:center;text-decoration:none}.tribe-events-admin-quick-nav__link:hover{color:#161b7d}.tribe-events-admin-quick-nav__link-item{display:block;padding-bottom:19px}.tribe-events-admin-quick-nav__links{display:inline}.tribe-events-admin-quick-nav__title{color:rgba(15,16,49,.72);display:inline-block;font-size:14px;font-weight:400;line-height:16px;padding-bottom:14px;text-transform:uppercase}.tribe-events-admin-title{padding-top:14px}.tribe-events-admin-title__description{color:#0f1031;font-size:16px;font-weight:400;line-height:24px;max-width:584px;padding-top:15px}.tribe-events-admin-title__heading{color:#0f1031;display:inline-block;font-size:24px;font-weight:700;line-height:28px;margin:5px 0 0}.tribe-events-admin-title__logo{margin-right:8px;vertical-align:top;width:34px}.tribe-events-admin-notice{background-color:#3d54ff;height:65px}.tribe-events-admin-notice .tribe-events-admin-content-wrapper{padding-bottom:0;padding-top:8px}.tribe-events-admin-notice p{color:#fff;display:inline-block;font-family:Helvetica,sans-serif;font-size:16px;line-height:18px;margin-top:0;padding-bottom:12px;padding-left:16px;vertical-align:middle;width:calc(100% - 60px)}.tribe-events-admin-notice__logo{display:inline-block}.tribe-events-admin-tickets .tribe-events-admin-section-header{font-size:28px;line-height:32px}.tribe-events-admin-tickets .tribe-events-admin-graphic--desktop-only{width:365px}.tribe-events-admin-tickets .tribe-events-admin-graphic--mobile-only{top:230px;width:300px}.tribe-events-admin-tickets .tribe-events-admin-title__heading{margin-top:0}.tribe-events-admin-tickets .tribe-events-admin-title__logo{margin-right:4px;width:32px}.tribe-events-admin-kb{margin:10px 0 0}.tribe-events-admin-kb-card{border:1px solid #e1e1e4;border-radius:20px}.tribe-events-admin-kb-card__image{height:auto;width:100%}.tribe-events-admin-kb-card__title{color:#0f1031;flex-grow:0;font-size:20px;font-weight:700;line-height:1.2;margin:0;padding:20px 28px 10px}.tribe-events-admin-kb-card__links{margin:0;padding:0 28px 25px}.tribe-events-admin-kb-card__links li{margin:0 0 10px}.tribe-events-admin-kb-card__links li a{color:#334aff;font-size:14px;line-height:1.2;text-decoration:none}.tribe-events-admin-kb-card__links li a:focus{box-shadow:none;outline:none}.tribe-events-admin-kb-card__links li a:hover{color:#1c39bb}.tribe-events-admin-section-header{align-items:center;color:#000;display:flex;font-weight:700;justify-content:space-between;margin:0}.tribe-events-admin-section-header h3{color:#0f1031;font-size:28px;font-weight:700;line-height:1}.tribe-events-admin-section-header a{border-bottom:2px solid #334aff;color:#334aff;font-size:14px;padding-bottom:2px;text-decoration:none}.tribe-events-admin-section-header a:focus{box-shadow:none;outline:none}.tribe-events-admin-section-header a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin-faq{margin:10px 0 0}.tribe-events-admin-faq-card{border:1px solid #e1e1e4;border-radius:20px;display:flex;justify-content:space-between;padding:24px 15px 19px 19px}.tribe-events-admin-faq-card a{color:#0f1031}.tribe-events-admin-faq-card a:focus{box-shadow:none;outline:none}.tribe-events-admin-faq-card a:hover{color:#1c39bb}.tribe-events-admin-faq-card__icon img{height:22px;width:16px}.tribe-events-admin-faq-card__content{margin-left:10px}.tribe-events-admin-faq__question,.tribe-events-admin-faq__question a{color:#334aff;font-size:16px;text-decoration:none}.tribe-events-admin-faq__question a:focus{box-shadow:none;outline:none}.tribe-events-admin-faq__question a:hover{color:#1c39bb}.tribe-events-admin-faq__answer{color:#0f1031;font-size:13px;margin-top:18px}.tribe-events-admin-extensions-title{color:#0f1031;font-size:16px;line-height:1.5;margin:0 0 30px;max-width:70%}.tribe-events-admin-extensions{margin:10px 0 0}.tribe-events-admin-extensions-card{border:1px solid #e1e1e4;border-radius:20px;border-top:8px solid #334aff;padding:48px 35px 24px 25px}.tribe-events-admin-extensions-card__title{font-size:20px;margin:0}.tribe-events-admin-extensions-card__title a{color:#0f1031;font-family:Helvetica,sans-serif;font-size:20px;font-weight:700;line-height:1.2;text-decoration:none}.tribe-events-admin-extensions-card__title a:active,.tribe-events-admin-extensions-card__title a:focus,.tribe-events-admin-extensions-card__title a:hover{box-shadow:none;color:#334aff}.tribe-events-admin-extensions-card__description{color:#0f1031;font-family:Helvetica,sans-serif;font-size:14px;line-height:1.43;margin:20px 0}.tribe-events-admin-cta{align-items:center;border:1px solid #e1e1e4;border-radius:20px;display:flex;justify-content:space-between;margin:60px 0}.tribe-events-admin-cta__image{height:152px;object-fit:contain;width:auto}.tribe-events-admin-cta__content,.tribe-events-admin__troubleshooting-cta{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px 0;width:100%}.tribe-events-admin-cta__content-title{color:#0f1031;font-size:28px;font-weight:700;line-height:normal;margin:0 0 10px;text-align:center}.tribe-events-admin-cta__content-subtitle{color:#0f1031;font-size:16px;line-height:1.5;margin-bottom:10px;text-align:center}.tribe-events-admin-cta__content-description a{border-bottom:2px solid #334aff;color:#334aff;font-size:16px;font-weight:700;padding-bottom:2px;text-decoration:none}.tribe-events-admin-cta__content-description a:focus{box-shadow:none;outline:none}.tribe-events-admin-cta__content-description a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin-footer-logo{display:inline-block;vertical-align:middle;width:228px}.tribe-events-admin-step{margin:10px 0 0}.tribe-events-admin-step-card{border:1px solid #e1e1e4;border-radius:20px;display:flex;justify-content:space-between;padding:24px 15px 19px 19px}.tribe-events-admin-step-card a{border-bottom:2px solid #334aff;color:#334aff;padding-bottom:2px;text-decoration:none}.tribe-events-admin-step-card a:focus{box-shadow:none;outline:none}.tribe-events-admin-step-card a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin-step-card__icon img{height:43px;margin-right:5px;width:42px}.tribe-events-admin-step-card__content{margin-left:10px}.tribe-events-admin-step__title{color:#0f1031;font-size:20px;font-weight:700;line-height:1.2;margin-bottom:10px}.tribe-events-admin-step__answer{color:#0f1031;font-size:13px;margin-top:18px}.tribe-events-admin__system-information{display:grid;grid-gap:15px 30px;gap:15px 30px;grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;margin:100px 0;position:relative}.tribe-events-admin__troubleshooting-title{color:#0f1031;font-size:28px;font-weight:700;line-height:1;margin:0}.tribe-events-admin__troubleshooting-description{color:#0f1031;font-size:18px;line-height:1.2;line-height:1.44;margin:20px 0}.tribe-events-admin__system-information-select{display:flex;margin:30px 0 20px}.tribe-events-admin__system-information-select input[type=checkbox]{margin:0 10px 0 0}.tribe-events-admin__system-information-select label{color:#0f1031;font-size:16px;line-height:1.2}.tribe-events-admin__system-information-content small{color:#0f1031;font-size:12px;line-height:1.2}.tribe-events-admin__recent-template-changes .template-updates-wrapper,.tribe-events-admin__system-information-widget{background:#0f1031;border-radius:16px;color:#fff;font-size:14px;line-height:1.14;max-height:280px;overflow:scroll;-ms-overflow-style:none;padding:12px 0 0 27px;scrollbar-width:none}.tribe-events-admin__recent-template-changes .template-updates-wrapper p{color:#fff;font-size:14px;line-height:1.14;margin:0}.tribe-events-admin__system-information-widget a{color:#334aff}.tribe-events-admin__system-information-widget a:hover{opacity:.8}.tribe-events-admin__recent-template-changes .template-updates-wrapper{padding:30px 0 30px 27px}.tribe-events-admin__recent-template-changes .template-updates-wrapper::-webkit-scrollbar,.tribe-events-admin__system-information-widget::-webkit-scrollbar{display:none}.tribe-events-admin__system-information-widget-copy{bottom:10px;position:absolute}.tribe-events-admin__system-information-widget-copy button{background-color:#334aff;border:none;border-radius:100px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;outline:none;padding:18px 25px;text-align:center}.tribe-events-admin__system-information-widget-copy button:hover{background-color:#1c39bb}.tribe-events-admin__system-information-widget-copy button .dashicons,.tribe-events-admin__system-information-widget-copy button .dashicons-before:before{display:none}.tribe-events-admin__system-information-widget-copy button .optin-success{color:#fff;font-size:16px;font-weight:700;text-align:center}.tribe-events-admin__recent-template-changes p{color:#0f1031;font-size:18px;line-height:1.2;line-height:1.44;margin:20px 0}.tribe-events-admin__recent-log{margin-top:50px}.tribe-events-admin__troubleshooting-event-log-wrapper label{color:#0f1031;display:block;font-size:16px;line-height:1.63;margin-bottom:10px}.tribe-events-admin__troubleshooting-event-log-wrapper #tribe-log-controls{margin:20px 0 10px}.tribe-events-admin__troubleshooting-event-log-wrapper #tribe-log-viewer{background:#0f1031;border-radius:16px;color:#fff;font-size:14px;line-height:1.14;max-height:280px;min-height:60px;overflow:scroll;-ms-overflow-style:none;padding:12px 0 0 27px;scrollbar-width:none}.tribe-events-admin__troubleshooting-event-log-wrapper #tribe-log-viewer::-webkit-scrollbar{display:none}.tribe-events-admin__troubleshooting-event-log-wrapper .download_log{border-bottom:2px solid #334aff;color:#334aff;font-size:16px;padding-bottom:2px;text-decoration:none}.tribe-events-admin__troubleshooting-event-log-wrapper .download_log:focus{box-shadow:none;outline:none}.tribe-events-admin__troubleshooting-event-log-wrapper .download_log:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin__troubleshooting-event-log-wrapper .tribe-events-admin__recent-log-filters-select-wrapper:after{display:none}.tribe-events-admin__recent-log-filters{display:flex;padding:20px 0 40px}.tribe-events-admin__recent-log-filters-field{margin-right:40px}.tribe-events-admin__recent-log-filters-select-wrapper:after{content:url(../images/help/polygon.svg);height:13px;pointer-events:none;position:absolute;right:22px;top:20px;width:14px}.tribe-events-admin__recent-log-filters-select-wrapper .select2-container--default .select2-selection--single{border:1px solid #e1e1e4!important;border-radius:16px;color:#0f1031;font-size:14px;line-height:1.14;padding:0 25px 0 15px!important}.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls{margin-bottom:20px;padding:0}.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:first-child,.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(2),.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(3){padding-right:75px}.tribe-events-admin__recent-log-filters-select-wrapper .select2-selection__clear{display:none}.tribe-events-admin__recent-log-filters-select-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow{right:5px}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.tribe-events-admin__recent-log-filters-select-wrapper .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.tribe-events-admin__recent-log-filters-select-wrapper .select2-container .select2-selection--single .select2-selection__rendered{width:100%}.tribe-events-admin__recent-log-filters-select-wrapper select.focus-visible,.tribe-events-admin__recent-log-filters-select-wrapper select:focus-visible{outline:none}.tribe-events-admin__recent-log-filters-select-wrapper select option{color:#0f1031;font-size:14px;line-height:1.14}.tribe-events-admin__ea-status{margin-top:50px}.tribe-events-admin__issues-found-card{background-color:#f3eee8;border-radius:8px;margin-bottom:20px}.tribe-events-admin__issues-found-card:last-of-type{margin-bottom:100px}.tribe-events-admin__issues-found-card-title{align-items:center;cursor:pointer;display:flex;padding:10px 20px 10px 17px;position:relative}.tribe-events-admin__issues-found-card-title img{height:21px;margin-right:14px;object-fit:contain;width:21px}.tribe-events-admin__issues-found-card-title h3{margin:0}.tribe-events-admin__issues-found-card-title span{color:#0f1031;display:block}.tribe-events-admin__issues-found-card-title i{background-image:url(../images/help/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:15px;margin:12px 20px;position:absolute;right:0;top:0;transition:all .3s ease;width:15px}.tribe-events-admin__issues-found-card-title.active i{background-image:url(../images/help/arrow-up.svg);background-repeat:no-repeat;top:5px}.tribe-events-admin__issues-found-card-description{display:none;padding:0 20px 20px 55px}.tribe-events-admin__issues-found-card-description p{color:#0f1031;font-size:16px;margin:0}.tribe-events-admin__issues-found-card-description-actions{display:flex;padding:20px 0 10px}.tribe-events-admin__issues-found-card-description-actions a{border-bottom:2px solid #334aff;color:#334aff;font-size:16px;margin-right:20px;padding-bottom:5px;text-decoration:none}.tribe-events-admin__issues-found-card-description-actions a:focus{box-shadow:none;outline:none}.tribe-events-admin__issues-found-card-description-actions a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin__ea-status-table-wrapper{overflow-x:auto}.tribe-events-admin__ea-status-table{border:1px solid #e1e1e4;border-radius:16px;margin:30px 0 40px;overflow:hidden}.tribe-events-admin__ea-status-table a{border-bottom:2px solid #334aff;color:#334aff;padding-bottom:2px;text-decoration:none}.tribe-events-admin__ea-status-table a:focus{box-shadow:none;outline:none}.tribe-events-admin__ea-status-table a:hover{border-bottom:2px solid #1c39bb;color:#1c39bb}.tribe-events-admin__ea-status-table tr{align-items:center;display:flex}.tribe-events-admin__ea-status-table th{color:#0f1031;font-weight:700;line-height:1.17;margin-top:10px;padding:5px 25px}.tribe-events-admin__ea-status-table td{align-items:center;color:#0f1031;display:flex;font-size:16px;line-height:1.63;padding:10px 25px;width:25%}.tribe-events-admin__ea-status-table td:nth-child(2){width:45%}.tribe-events-admin__ea-status-table td:nth-child(3){display:flex;justify-content:flex-end;width:30%}.tribe-events-admin__ea-status-table-dark{background-color:#f9f7f4}.tribe-events-admin__ea-status-table td img{height:21px;margin-right:14px;object-fit:contain;width:21px}.tec-troubleshooting,.tribe_events_page_tec-troubleshooting{background-color:#fff}#tribe-community,#tribe-ticketing{display:none}.tribe-events-admin__troubleshooting-notice{background-color:#161b7d;color:#fff;font-size:16px;line-height:1;margin-left:-1.55vw;padding:24px 0}.tribe-events-admin__troubleshooting-notice_title{margin:0 auto;max-width:1024px;padding-left:25px;width:90%}.tribe-events-admin__troubleshooting-notice_title a{border-bottom:2px solid #fff;color:#fff;font-size:16px;line-height:1;padding-bottom:2px;text-decoration:none}.tribe-events-admin__troubleshooting-notice_title a:focus{box-shadow:none;outline:none}.tribe-events-admin__troubleshooting-notice_title a:hover{border-bottom:2px solid #f3eee8;color:#f3eee8}.tec-help #tec-help-community,.tec-help #tec-help-ticketing{display:none}.tec-help .tribe-events-admin-title{padding-top:25px}.tec-help .tribe-events-admin-title img{height:67px}body.tribe-welcome #fs_connect{border:1px solid #e1e1e4;border-radius:16px;box-shadow:none;box-sizing:border-box;margin-left:22px}body.tribe-welcome #fs_connect .fs-actions{background-color:transparent}body.tribe-welcome #fs_connect .fs-permissions{border-top:1px solid #e1e1e4;margin:0 16px}body.tribe-welcome #fs_connect button{background-color:#3d54ff;border-color:#3d54ff}body.tribe-welcome #fs_connect .button-secondary{background:#fff;border-color:#3d54ff;color:#3d54ff}body.tribe-welcome #fs_connect a{color:#3d54ff}body.tribe-welcome #fs_connect a:focus{box-shadow:none;outline:none}body.tribe-welcome #fs_connect a:hover{color:#161b7d}.black-friday-promo{align-items:flex-start;display:flex;flex-direction:column-reverse;justify-content:space-between}.black-friday-promo .black-friday-promo__button{background:#3d54ff;border-color:transparent;border-radius:20px;color:#fff;font-size:12px;height:34px;line-height:32px;min-height:unset;width:115px}.black-friday-promo .black-friday-promo__button:active,.black-friday-promo .black-friday-promo__button:focus,.black-friday-promo .black-friday-promo__button:hover{background:#1c39bb;border-color:transparent;color:#fff}.black-friday-promo__promo{background-position:50%;background-repeat:no-repeat;border-radius:10px;display:grid;grid-template-areas:"a b";grid-template-columns:auto 150px;height:150px;margin:10px 0;max-width:100%;width:450px}.black-friday-promo__content{grid-area:b;padding-top:8px;text-align:center}.black-friday-promo__text{color:#0f1031;font-family:monospace;font-size:16px;line-height:1;text-transform:uppercase}.black-friday-promo__branding-image{max-width:390px;width:100%}.end-of-year-sale-promo{align-items:flex-start;display:flex;flex-direction:column-reverse;justify-content:space-between}.end-of-year-sale-promo .end-of-year-sale-promo__button{background:#3d54ff;border-color:transparent;border-radius:20px;color:#fff;font-size:12px;height:34px;line-height:32px;min-height:unset;width:115px}.end-of-year-sale-promo .end-of-year-sale-promo__button:active,.end-of-year-sale-promo .end-of-year-sale-promo__button:focus,.end-of-year-sale-promo .end-of-year-sale-promo__button:hover{background:#1c39bb;border-color:transparent;color:#fff}.end-of-year-sale-promo__promo{background-color:#fff;background-position:0 0;background-repeat:no-repeat;border-radius:10px;display:grid;flex-shrink:0;grid-template-areas:"a b";grid-template-columns:auto 160px;height:150px;margin:10px 0;max-width:100%;width:460px}.end-of-year-sale-promo__content{grid-area:b;padding-top:8px;text-align:center}.end-of-year-sale-promo__text{color:#0f1031;font-family:monospace;font-size:13px;line-height:1.2;margin-bottom:8px;text-transform:uppercase}.end-of-year-sale-promo__branding-image{max-width:390px;width:100%}.tribe-common .tec-admin__upsell{display:inline-block;font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-1);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-1)}.tribe-common .tec-admin__upsell-content{align-items:center;display:flex;padding:var(--tec-spacer-1);padding-right:var(--tec-spacer-2)}.tribe-common .tec-admin__upsell-icon,.tribe-common .tec-admin__upsell-icon-image{height:24px;width:24px}.tribe-common .tec-admin__upsell-text-wrap{margin-left:var(--tec-spacer-2)}.tribe-common .tec-admin__upsell-link{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold);text-decoration:none}.tribe-common .tec-admin__upsell--rounded-corners .tec-admin__upsell-content{background:var(--tec-color-accent-primary-background);border-radius:24px}.tribe-common .tec-admin__upsell--rounded-corners-text .tec-admin__upsell-text-wrap{background:rgba(51,74,255,.1);border-radius:14px;padding:var(--tec-spacer-1) var(--tec-spacer-2)}.tribe-common .tec-admin__upsell-link--dark{color:var(--tec-color-text-primary)}.tribe-common .tec-admin__upsell-link--underlined{text-decoration:underline}@media only screen and (-o-min-device-pixel-ratio:2/1),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){#tribe-loading span{background-image:url(../images/tribe-loading@2x.gif)}}@media screen and (max-width:782px){.tribe-half-column,.tribe-row .tribe-half-column:last-child{margin:0 0 20px;width:100%}input[type=email]{width:100%}.events-cal .subsubsub{float:none}.events-cal .search-box{width:98%}.events-cal #search-submit{width:100%}.events-cal .tablenav.top{display:none}}@media screen and (min-width:500px){.api-check .tribe-mascot{display:block}.api-check .notice-content{margin-right:180px}}@media screen and (min-width:320px){.tribe-marketing-notice .tribe-marketing-notice__icon{display:block}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:22px}}@media screen and (min-width:600px) and (max-width:782px){.tribe-marketing-notice .tribe-marketing-notice__content{margin-left:145px}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:22px;padding:0}}@media screen and (min-width:782px){.tribe-marketing-notice .tribe-marketing-notice__content{margin-left:130px}.notice-tribe-banner .tribe-marketing-notice__content{margin-left:22px;padding:0}.events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice,.tribe-welcome .notice-tribe-banner .tribe-marketing-notice,.tribe_events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice{max-width:642px}}@media screen and (min-width:400px){.notice-tribe-banner .tribe-marketing-notice__icon{width:67px}}@media screen and (min-width:800px){.notice-tribe-banner h3{display:inline-block;font-size:1rem;margin:0 .5rem 0 0}.notice-tribe-banner a{line-height:1.5}.notice-tribe-banner a,.notice-tribe-banner p{font-size:1rem}.notice-tribe-banner p{margin:0 .5rem 0 0}.notice-tribe-banner .tribe-marketing-notice__cta{display:inline-block;margin-left:.5rem}}@media screen and (min-width:1215px){.events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice,.tribe_events_page_tribe-app-shop .notice-tribe-banner .tribe-marketing-notice{max-width:992px}.tribe-welcome .notice-tribe-banner .tribe-marketing-notice{max-width:1036px}}@media screen and (min-width:710px){.tribe-events-admin-content-wrapper{width:670px}.tribe-events-admin-card--2up{display:inline-block;width:calc(50% - 20px)}.tribe-events-admin-card--2up.tribe-events-admin-card--first{margin-right:36px}.tribe-events-admin-card--2up.tribe-events-admin-card--last{margin-right:0}.tribe-events-admin-card--2up .tribe-events-admin-card__image{height:100px;margin-bottom:12px}.tribe-events-admin-card--2up .tribe-events-admin-card__title{margin-bottom:27px;max-width:340px}.tribe-events-admin-card--3up{display:inline-block;margin-bottom:32px;width:calc(50% - 18px)}.tribe-events-admin-card--3up.tribe-events-admin-card--first{margin-right:32px}.tribe-events-admin-card--3up.tribe-events-admin-card--middle{margin-right:0}.tribe-events-admin-card__title{font-size:20px;line-height:23px}.tribe-events-admin-card--1up{display:inline-block;margin-left:32px;width:calc(50% - 18px)}.tribe-events-admin-card--1up .tribe-events-admin-card__description{height:71px}.tribe-events-admin-card--1up .tribe-events-admin-card__image{margin-bottom:28px}.tribe-events-admin-card--no-pad{height:154px;padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__title{margin-left:50%;padding:42px 0 10px}.tribe-events-admin-card--no-pad .tribe-events-admin-card__description{margin-left:50%}.tribe-events-admin-card--promo-blue{display:block;margin-left:0;min-height:170px;width:100%}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__description{float:left;max-width:300px}.tribe-events-admin-graphic{max-width:250px;top:0}.tribe-events-admin-graphic--desktop-only{display:block}.tribe-events-admin-graphic--mobile-only{display:none}.tribe-events-admin-card__form{float:right;width:300px}input[type=email].tribe-events-admin-card__input{width:300px}.tribe-events-admin-title{padding-top:50px}.tribe-events-admin-title__description{padding-top:15px}.tribe-events-admin-title__heading{font-size:48px;line-height:55px;margin:0}.tribe-events-admin-title__logo{margin-right:14px;padding-top:5px;width:40px}.tribe-events-admin-tickets .tribe-events-admin-card__title{font-size:18px}.tribe-events-admin-tickets .tribe-events-admin-card--2up .tribe-events-admin-card__title{font-size:18px;height:66px}.tribe-events-admin-tickets .tribe-events-admin-title__logo{margin-right:8px;padding-top:4px;width:60px}}@media screen and (min-width:1217px){.tribe-events-admin-content-wrapper{max-width:1060px;width:100%}.tribe-events-admin-card--2up{margin-right:36px;width:486px}.tribe-events-admin-card--3up{width:310px}.tribe-events-admin-card--3up.tribe-events-admin-card--first,.tribe-events-admin-card--3up.tribe-events-admin-card--middle{margin-right:36px}.tribe-events-admin-card--3up.tribe-events-admin-card--last{margin-right:0}.tribe-events-admin-card--1up{margin:0 0 36px;padding:33px 44px 30px;text-align:left;width:1012px}.tribe-events-admin-card--1up .tribe-events-admin-card__description{height:auto}.tribe-events-admin-card--1up .tribe-events-admin-card__image{float:left;margin:0 48px 10px 0}.tribe-events-admin-card--no-pad{padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__image{margin:0;padding:0}.tribe-events-admin-card--no-pad .tribe-events-admin-card__title{margin-left:50%;padding:42px 0 10px}.tribe-events-admin-card--no-pad .tribe-events-admin-card__description{margin-left:50%}.tribe-events-admin-card--promo-blue{min-height:150px}.tribe-events-admin-card--promo-blue .tribe-events-admin-card__description{max-width:450px}.tribe-events-admin-graphic{max-width:none}.tribe-events-admin-card__form,input[type=email].tribe-events-admin-card__input{width:365px}.tribe-events-admin-quick-nav{border-radius:100px;display:inline-block;height:54px;margin:24px 0 94px;max-width:1010px;padding:0 36px 0 0}.tribe-events-admin-quick-nav__link-item{display:inline-block;padding:18px 10px 0}.tribe-events-admin-quick-nav__title{padding:19px 6px 17px 32px}.tribe-events-admin-tickets .tribe-events-admin-card--2up .tribe-events-admin-card__title{height:auto}}@media screen and (max-width:768px){.tribe-events-admin-header__logo-word-mark{width:285px}.tribe-events-admin-header__right-image{height:160px}.tribe-events-admin-header__description{max-width:100%}.tribe-events-admin-tab-nav li{margin-right:20px}.tribe-events-admin-tab-nav .selected{border-bottom:2px solid #334aff;padding-bottom:10px}.tribe-events-admin-2col-grid{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr))}.tribe-events-admin-3col-grid{grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr))}.tribe-events-admin-extensions-title{max-width:100%}.tribe-events-admin-cta{align-items:flex-start;flex-direction:column;overflow:hidden}.tribe-events-admin-footer-logo{width:225px}.tribe-events-admin__system-information{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr));margin:50px 0}}@media screen and (max-width:480px){.tribe-events-admin-header__logo-word-mark{width:260px}.tribe-events-admin-header__right-image{height:120px}.tribe-events-admin-header__title{font-size:35px}.tribe-events-admin-header__description{max-width:100%}.tribe-events-admin-tab-nav{border:1px solid #e1e1e4;border-radius:20px;flex-direction:column;padding:18px 22px}.tribe-events-admin-tab-nav li{margin-bottom:18px;margin-right:0}.tribe-events-admin-tab-nav .selected{border-bottom:2px solid #334aff;padding-bottom:10px;width:fit-content}.tribe-events-admin__line{border:none}.tribe-events-admin-products-card,.tribe-events-admin-products-description{display:none}.tribe-events-admin-container,.tribe-events-admin-content-wrapper.tribe-events-admin-container{max-width:90%}.tribe-events-admin-2col-grid,.tribe-events-admin-3col-grid,.tribe-events-admin-4col-grid{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr))}.tribe-events-admin-extensions-title{max-width:100%}.tribe-events-admin-cta__image{height:auto;width:90%}.tribe-events-admin-cta__content,.tribe-events-admin__troubleshooting-cta{align-items:flex-start;padding:32px 23px 45px;width:auto}.tribe-events-admin-cta__content-title{font-size:22px;text-align:left}.tribe-events-admin-cta__content-subtitle{text-align:left}.tribe-events-admin-footer-logo{width:210px}.tribe-events-admin__system-information{grid-template-areas:".";grid-template-columns:repeat(1,minmax(0,1fr));margin:50px 0}.tribe-events-admin__troubleshooting-notice{margin-left:-20px}.tribe-events-admin__troubleshooting-notice_title{max-width:90%}}@media screen and (min-width:1200px){.tribe-events-admin-products-card__group{max-width:47%}}@media screen and (min-width:500px) and (max-width:1080px){.tribe-events-admin-4col-grid{grid-template-areas:". .";grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (min-width:768px){.tribe-events-admin-section-header{font-size:28px;line-height:1.143;margin:50px 0 21px}}@media screen and (max-width:1080px){.tribe-events-admin-cta__content-title{font-size:24px}}@media only screen and (max-width:1920px){.tribe-events-admin__system-information-widget-copy{right:20.5vw}}@media only screen and (max-width:1280px){.tribe-events-admin__system-information-widget-copy{right:22vw}}@media only screen and (max-width:768px){.tribe-events-admin__system-information-widget-copy{left:10px;right:auto}.tribe-events-admin__recent-log-filters{flex-direction:column}.tribe-events-admin__recent-log-filters-field{margin-bottom:30px;margin-right:0}.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:first-child,.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(2),.tribe-events-admin__recent-log-filters-select-wrapper #tribe-log-controls div:nth-child(3){padding-right:30px}.tribe-events-admin__issues-found-card-title h3{max-width:90%}}@media only screen and (max-width:480px){.tribe-events-admin__system-information-widget-copy{left:10px;right:auto}.tribe-events-admin__recent-log-filters{flex-direction:column}.tribe-events-admin__recent-log-filters-field{margin-bottom:30px;margin-right:0}.tribe-events-admin__recent-log-filters-select-wrapper:after{right:25px}.tribe-events-admin__issues-found-card-title h3{max-width:80%}.tribe-events-admin__ea-status-table{overflow:scroll}.tribe-events-admin__ea-status-table td{min-width:150px}.tribe-events-admin__ea-status-table td:nth-child(2),.tribe-events-admin__ea-status-table td:nth-child(3){width:100%}}@media (min-width:1024px){.black-friday-promo{align-items:center;flex-direction:row}.black-friday-promo__branding{padding-right:10px;width:calc(100% - 450px)}.end-of-year-sale-promo{align-items:center;flex-direction:row}.end-of-year-sale-promo__branding{padding-right:10px;width:calc(100% - 460px)}}@media (max-width:525px){.end-of-year-sale-promo__promo{grid-template-areas:"a" "b";grid-template-columns:auto;margin:20px auto;padding-top:100px;width:300px}}
common/src/resources/images/mascot.png CHANGED
Binary file
common/vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit53814a307e43d84d1ea772f239ad74a8::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit7f332ca9155dfce72207651c4b443442::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 ComposerAutoloaderInita3d84253d97a9dd9ae08c9a664372b58::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInitacab461872bea5dee599db6dad74ecdf::getLoader();
common/vendor/composer/autoload_classmap.php CHANGED
@@ -125,6 +125,7 @@ return array(
125
  'Tribe\\Admin\\Notice\\Marketing\\Stellar_Sale' => $baseDir . '/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php',
126
  'Tribe\\Admin\\Notice\\Service_Provider' => $baseDir . '/src/Tribe/Admin/Notice/Service_Provider.php',
127
  'Tribe\\Admin\\Notice\\WP_Version' => $baseDir . '/src/Tribe/Admin/Notice/WP_Version.php',
 
128
  'Tribe\\Admin\\Troubleshooting' => $baseDir . '/src/Tribe/Admin/Troubleshooting.php',
129
  'Tribe\\Admin\\Upsell_Notice\\Main' => $baseDir . '/src/Tribe/Admin/Upsell_Notice/Main.php',
130
  'Tribe\\Customizer\\Control' => $baseDir . '/src/Tribe/Customizer/Control.php',
125
  'Tribe\\Admin\\Notice\\Marketing\\Stellar_Sale' => $baseDir . '/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php',
126
  'Tribe\\Admin\\Notice\\Service_Provider' => $baseDir . '/src/Tribe/Admin/Notice/Service_Provider.php',
127
  'Tribe\\Admin\\Notice\\WP_Version' => $baseDir . '/src/Tribe/Admin/Notice/WP_Version.php',
128
+ 'Tribe\\Admin\\Pages' => $baseDir . '/src/Tribe/Admin/Pages.php',
129
  'Tribe\\Admin\\Troubleshooting' => $baseDir . '/src/Tribe/Admin/Troubleshooting.php',
130
  'Tribe\\Admin\\Upsell_Notice\\Main' => $baseDir . '/src/Tribe/Admin/Upsell_Notice/Main.php',
131
  'Tribe\\Customizer\\Control' => $baseDir . '/src/Tribe/Customizer/Control.php',
common/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit53814a307e43d84d1ea772f239ad74a8
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit53814a307e43d84d1ea772f239ad74a8
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit53814a307e43d84d1ea772f239ad74a8', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit53814a307e43d84d1ea772f239ad74a8', '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\ComposerStaticInit53814a307e43d84d1ea772f239ad74a8::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 ComposerAutoloaderInit7f332ca9155dfce72207651c4b443442
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit7f332ca9155dfce72207651c4b443442', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit7f332ca9155dfce72207651c4b443442', '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\ComposerStaticInit7f332ca9155dfce72207651c4b443442::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 ComposerAutoloaderInita3d84253d97a9dd9ae08c9a664372b58 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInita3d84253d97a9dd9ae08c9a664372b58 {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInita3d84253d97a9dd9ae08c9a664372b58', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInita3d84253d97a9dd9ae08c9a664372b58', '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 ComposerAutoloaderInitacab461872bea5dee599db6dad74ecdf {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInitacab461872bea5dee599db6dad74ecdf', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInitacab461872bea5dee599db6dad74ecdf', '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 ComposerStaticInit53814a307e43d84d1ea772f239ad74a8
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
@@ -186,6 +186,7 @@ class ComposerStaticInit53814a307e43d84d1ea772f239ad74a8
186
  'Tribe\\Admin\\Notice\\Marketing\\Stellar_Sale' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php',
187
  'Tribe\\Admin\\Notice\\Service_Provider' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Service_Provider.php',
188
  'Tribe\\Admin\\Notice\\WP_Version' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/WP_Version.php',
 
189
  'Tribe\\Admin\\Troubleshooting' => __DIR__ . '/../..' . '/src/Tribe/Admin/Troubleshooting.php',
190
  'Tribe\\Admin\\Upsell_Notice\\Main' => __DIR__ . '/../..' . '/src/Tribe/Admin/Upsell_Notice/Main.php',
191
  'Tribe\\Customizer\\Control' => __DIR__ . '/../..' . '/src/Tribe/Customizer/Control.php',
@@ -268,10 +269,10 @@ class ComposerStaticInit53814a307e43d84d1ea772f239ad74a8
268
  public static function getInitializer(ClassLoader $loader)
269
  {
270
  return \Closure::bind(function () use ($loader) {
271
- $loader->prefixLengthsPsr4 = ComposerStaticInit53814a307e43d84d1ea772f239ad74a8::$prefixLengthsPsr4;
272
- $loader->prefixDirsPsr4 = ComposerStaticInit53814a307e43d84d1ea772f239ad74a8::$prefixDirsPsr4;
273
- $loader->prefixesPsr0 = ComposerStaticInit53814a307e43d84d1ea772f239ad74a8::$prefixesPsr0;
274
- $loader->classMap = ComposerStaticInit53814a307e43d84d1ea772f239ad74a8::$classMap;
275
 
276
  }, null, ClassLoader::class);
277
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit7f332ca9155dfce72207651c4b443442
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
186
  'Tribe\\Admin\\Notice\\Marketing\\Stellar_Sale' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Marketing/Stellar_Sale.php',
187
  'Tribe\\Admin\\Notice\\Service_Provider' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Service_Provider.php',
188
  'Tribe\\Admin\\Notice\\WP_Version' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/WP_Version.php',
189
+ 'Tribe\\Admin\\Pages' => __DIR__ . '/../..' . '/src/Tribe/Admin/Pages.php',
190
  'Tribe\\Admin\\Troubleshooting' => __DIR__ . '/../..' . '/src/Tribe/Admin/Troubleshooting.php',
191
  'Tribe\\Admin\\Upsell_Notice\\Main' => __DIR__ . '/../..' . '/src/Tribe/Admin/Upsell_Notice/Main.php',
192
  'Tribe\\Customizer\\Control' => __DIR__ . '/../..' . '/src/Tribe/Customizer/Control.php',
269
  public static function getInitializer(ClassLoader $loader)
270
  {
271
  return \Closure::bind(function () use ($loader) {
272
+ $loader->prefixLengthsPsr4 = ComposerStaticInit7f332ca9155dfce72207651c4b443442::$prefixLengthsPsr4;
273
+ $loader->prefixDirsPsr4 = ComposerStaticInit7f332ca9155dfce72207651c4b443442::$prefixDirsPsr4;
274
+ $loader->prefixesPsr0 = ComposerStaticInit7f332ca9155dfce72207651c4b443442::$prefixesPsr0;
275
+ $loader->classMap = ComposerStaticInit7f332ca9155dfce72207651c4b443442::$classMap;
276
 
277
  }, null, ClassLoader::class);
278
  }
lang/the-events-calendar-bg_BG.mo CHANGED
Binary file
lang/the-events-calendar-ca.mo CHANGED
Binary file
lang/the-events-calendar-cs_CZ.mo CHANGED
Binary file
lang/the-events-calendar-da_DK.mo CHANGED
Binary file
lang/the-events-calendar-de_CH.mo CHANGED
Binary file
lang/the-events-calendar-de_DE.mo CHANGED
Binary file
lang/the-events-calendar-el.mo CHANGED
Binary file
lang/the-events-calendar-en_AU.mo CHANGED
Binary file
lang/the-events-calendar-en_CA.mo CHANGED
Binary file
lang/the-events-calendar-en_GB.mo CHANGED
Binary file
lang/the-events-calendar-en_NZ.mo CHANGED
Binary file
lang/the-events-calendar-en_ZA.mo CHANGED
Binary file
lang/the-events-calendar-es_CO.mo CHANGED
Binary file
lang/the-events-calendar-es_DO.mo CHANGED
Binary file
lang/the-events-calendar-es_EC.mo CHANGED
Binary file
lang/the-events-calendar-es_ES.mo CHANGED
Binary file
lang/the-events-calendar-es_MX.mo CHANGED
Binary file
lang/the-events-calendar-es_VE.mo CHANGED
Binary file
lang/the-events-calendar-eu.mo CHANGED
Binary file
lang/the-events-calendar-fi.mo CHANGED
Binary file
lang/the-events-calendar-fr_CA.mo CHANGED
Binary file
lang/the-events-calendar-fr_FR.mo CHANGED
Binary file
lang/the-events-calendar-gl_ES.mo CHANGED
Binary file
lang/the-events-calendar-he_IL.mo CHANGED
Binary file
lang/the-events-calendar-hr.mo CHANGED
Binary file
lang/the-events-calendar-hu_HU.mo CHANGED
Binary file
lang/the-events-calendar-it_IT.mo CHANGED
Binary file
lang/the-events-calendar-ja.mo CHANGED
Binary file
lang/the-events-calendar-lt_LT.mo CHANGED
Binary file
lang/the-events-calendar-nb_NO.mo CHANGED
Binary file
lang/the-events-calendar-nl_BE.mo CHANGED
Binary file
lang/the-events-calendar-nl_NL.mo CHANGED
Binary file
lang/the-events-calendar-nn_NO.mo CHANGED
Binary file
lang/the-events-calendar-pl_PL.mo CHANGED
Binary file
lang/the-events-calendar-pt_BR.mo CHANGED
Binary file
lang/the-events-calendar-pt_PT.mo CHANGED
Binary file
lang/the-events-calendar-ro_RO.mo CHANGED
Binary file
lang/the-events-calendar-ru_RU.mo CHANGED
Binary file
lang/the-events-calendar-sk_SK.mo CHANGED
Binary file
lang/the-events-calendar-sl_SI.mo CHANGED
Binary file
lang/the-events-calendar-sq.mo CHANGED
Binary file
lang/the-events-calendar-sv_SE.mo CHANGED
Binary file
lang/the-events-calendar-tr_TR.mo CHANGED
Binary file
lang/the-events-calendar-uk.mo CHANGED
Binary file
lang/the-events-calendar-zh_CN.mo CHANGED
Binary file
lang/the-events-calendar.pot CHANGED
@@ -2,87 +2,85 @@
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.14.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
7
  "calendar\n"
8
- "POT-Creation-Date: 2022-04-26 21:14:36+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: 2022-04-26 21:14\n"
13
  "Last-Translator: \n"
14
  "Language-Team: \n"
15
 
16
- #: src/Events/Editor/Full_Site/Templates.php:87
17
- msgid "Events Archive"
18
- msgstr ""
19
-
20
- #: src/Tribe/API.php:798
21
  msgid ""
22
  "An event having a post meta value of `%s` meridian is not valid. Make sure "
23
  "it is either `am` or `pm`, or remove it entirely if using the 24-hour format."
24
  msgstr ""
25
 
26
- #: src/Tribe/API.php:826
27
  msgid ""
28
  "An event having a post meta value of `%s` hour (am/pm) is not valid. Make "
29
  "sure it is from 1 to 12."
30
  msgstr ""
31
 
32
- #: src/Tribe/API.php:843
33
  msgid ""
34
  "An event having a post meta value of `%s` hour (12-hour) is not valid. Make "
35
  "sure it is from 1 to 12."
36
  msgstr ""
37
 
38
- #: src/Tribe/API.php:850
39
  msgid ""
40
  "An event having a post meta value of `%s` hour (24-hour) is not valid. Make "
41
  "sure it is from 0 to 23."
42
  msgstr ""
43
 
44
- #: src/Tribe/API.php:880 src/Tribe/API.php:891
45
  msgid ""
46
  "An event having a post meta value of `%s` minutes is not valid. Make sure it "
47
  "is from 0 to 59."
48
  msgstr ""
49
 
50
- #: src/Tribe/Admin/Bar/Default_Configurator.php:18
51
  msgid "%s"
52
  msgstr ""
53
 
54
- #: src/Tribe/Admin/Bar/Default_Configurator.php:45 src/Tribe/Main.php:4398
55
  #: src/Tribe/Views/V2/Views/Widgets/Widget_View.php:61
56
  #: src/admin-views/tribe-options-upgrade.php:20
57
  msgid "View Calendar"
58
  msgstr ""
59
 
60
- #: src/Tribe/Admin/Bar/Default_Configurator.php:53
61
  msgid "Add %s"
62
  msgstr ""
63
 
64
- #: src/Tribe/Admin/Bar/Default_Configurator.php:62
65
- #: src/Tribe/Linked_Posts/Chooser_Meta_Box.php:210 src/Tribe/Main.php:2168
66
- #: src/Tribe/Main.php:5506 src/Tribe/Main.php:5553 src/Tribe/Organizer.php:93
67
  #: src/Tribe/Venue.php:129
68
  msgid "Edit %s"
69
  msgstr ""
70
 
71
- #: src/Tribe/Admin/Bar/Default_Configurator.php:73
72
  #: src/Tribe/Aggregator/Page.php:327
73
  #: src/admin-views/aggregator/tabs/import-form.php:305
74
  msgid "Import"
75
  msgstr ""
76
 
77
- #: src/Tribe/Admin/Bar/Default_Configurator.php:89 src/Tribe/Main.php:4446
 
78
  msgid "Settings"
79
  msgstr ""
80
 
81
- #: src/Tribe/Admin/Bar/Default_Configurator.php:104
 
82
  msgid "Help"
83
  msgstr ""
84
 
85
- #: src/Tribe/Admin/Filter_Bar/Provider.php:131
86
  #: src/admin-views/admin-update-message.php:64
87
  msgid "Filters"
88
  msgstr ""
@@ -145,6 +143,42 @@ msgid ""
145
  "problems when importing events or with Daylight Saving Time. %1$s"
146
  msgstr ""
147
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  #: src/Tribe/Admin/Timezone_Updater.php:77
149
  msgid "Please wait while time zone data is added to your events."
150
  msgstr ""
@@ -167,7 +201,7 @@ msgid ""
167
  "refresh and try again."
168
  msgstr ""
169
 
170
- #: src/Tribe/Admin_List.php:299 src/Tribe/Main.php:2220
171
  msgid "%s Categories"
172
  msgstr ""
173
 
@@ -195,7 +229,7 @@ msgstr ""
195
 
196
  #: src/Tribe/Aggregator/API/Origins.php:41
197
  #: src/Tribe/Aggregator/Record/Eventbrite.php:88
198
- #: src/admin-views/aggregator/settings.php:633
199
  #: src/admin-views/aggregator/status.php:183
200
  #: src/admin-views/tribe-options-addons-api.php:97
201
  msgid "Eventbrite"
@@ -204,25 +238,25 @@ msgstr ""
204
  #: src/Tribe/Aggregator/API/Origins.php:47
205
  #: src/Tribe/Aggregator/Record/gCal.php:14
206
  #: src/Tribe/Views/V2/iCalendar/Links/Google_Calendar.php:35
207
- #: src/Tribe/iCal.php:132 src/admin-views/aggregator/settings.php:621
208
  msgid "Google Calendar"
209
  msgstr ""
210
 
211
  #: src/Tribe/Aggregator/API/Origins.php:53
212
  #: src/Tribe/Aggregator/Record/iCal.php:14
213
  #: src/Tribe/Views/V2/iCalendar/Links/iCal.php:29
214
- #: src/admin-views/aggregator/settings.php:613
215
  msgid "iCalendar"
216
  msgstr ""
217
 
218
  #: src/Tribe/Aggregator/API/Origins.php:59
219
- #: src/admin-views/aggregator/settings.php:617
220
  msgid "ICS File"
221
  msgstr ""
222
 
223
  #: src/Tribe/Aggregator/API/Origins.php:65
224
  #: src/Tribe/Aggregator/Record/Meetup.php:40
225
- #: src/admin-views/aggregator/settings.php:625
226
  #: src/admin-views/aggregator/status.php:210
227
  #: src/admin-views/tribe-options-addons-api.php:45
228
  msgid "Meetup"
@@ -233,7 +267,7 @@ msgstr ""
233
  msgid "Other URL"
234
  msgstr ""
235
 
236
- #: src/Tribe/Aggregator/API/Origins.php:227 src/Tribe/Aggregator.php:227
237
  msgid "Event Aggregator"
238
  msgstr ""
239
 
@@ -406,7 +440,7 @@ msgid ""
406
  "queue was processed. Please try again."
407
  msgstr ""
408
 
409
- #: src/Tribe/Aggregator/Meta_Box.php:38
410
  msgid "Imported Event"
411
  msgstr ""
412
 
@@ -668,7 +702,7 @@ msgid "The batch registered does not have all the required fields."
668
  msgstr ""
669
 
670
  #: src/Tribe/Aggregator/Record/CSV.php:79
671
- #: src/admin-views/aggregator/settings.php:609
672
  #: src/deprecated/Tribe__Events__Importer__Admin_Page.php:240
673
  msgid "CSV"
674
  msgstr ""
@@ -817,13 +851,13 @@ msgstr ""
817
  msgid "Unknown"
818
  msgstr ""
819
 
820
- #: src/Tribe/Aggregator/Record/List_Table.php:618 src/Tribe/Aggregator.php:602
821
  #: src/Tribe/Ignored_Events.php:376
822
  msgctxt "human readable time ago"
823
  msgid "about %s ago"
824
  msgstr ""
825
 
826
- #: src/Tribe/Aggregator/Record/List_Table.php:620 src/Tribe/Aggregator.php:604
827
  #: src/Tribe/Ignored_Events.php:378
828
  msgctxt "in human readable time"
829
  msgid "in about %s"
@@ -1363,79 +1397,79 @@ msgstr ""
1363
  msgid "Unknown service message"
1364
  msgstr ""
1365
 
1366
- #: src/Tribe/Aggregator/Settings.php:526
1367
  msgid "By date range"
1368
  msgstr ""
1369
 
1370
- #: src/Tribe/Aggregator/Settings.php:527
1371
  msgid "By number of events"
1372
  msgstr ""
1373
 
1374
- #: src/Tribe/Aggregator/Settings.php:528
1375
  msgid "Do not limit (not recommended)"
1376
  msgstr ""
1377
 
1378
- #: src/Tribe/Aggregator/Settings.php:555 src/Tribe/Aggregator/Settings.php:556
1379
  msgid "24 hours"
1380
  msgstr ""
1381
 
1382
- #: src/Tribe/Aggregator/Settings.php:559 src/Tribe/Aggregator/Settings.php:560
1383
  msgid "72 hours"
1384
  msgstr ""
1385
 
1386
- #: src/Tribe/Aggregator/Settings.php:563
1387
  msgid "One week"
1388
  msgstr ""
1389
 
1390
- #: src/Tribe/Aggregator/Settings.php:564
1391
  msgid "one week"
1392
  msgstr ""
1393
 
1394
- #: src/Tribe/Aggregator/Settings.php:567
1395
  msgid "Two weeks"
1396
  msgstr ""
1397
 
1398
- #: src/Tribe/Aggregator/Settings.php:568
1399
  msgid "two weeks"
1400
  msgstr ""
1401
 
1402
- #: src/Tribe/Aggregator/Settings.php:571
1403
  msgid "Three weeks"
1404
  msgstr ""
1405
 
1406
- #: src/Tribe/Aggregator/Settings.php:572
1407
  msgid "three weeks"
1408
  msgstr ""
1409
 
1410
- #: src/Tribe/Aggregator/Settings.php:575
1411
  msgid "One month"
1412
  msgstr ""
1413
 
1414
- #: src/Tribe/Aggregator/Settings.php:576
1415
  msgid "one month"
1416
  msgstr ""
1417
 
1418
- #: src/Tribe/Aggregator/Settings.php:579
1419
  msgid "Two months"
1420
  msgstr ""
1421
 
1422
- #: src/Tribe/Aggregator/Settings.php:580
1423
  msgid "two months"
1424
  msgstr ""
1425
 
1426
- #: src/Tribe/Aggregator/Settings.php:583
1427
  msgid "Three months"
1428
  msgstr ""
1429
 
1430
- #: src/Tribe/Aggregator/Settings.php:584
1431
  msgid "three months"
1432
  msgstr ""
1433
 
1434
- #: src/Tribe/Aggregator/Settings.php:868
1435
  msgid "Asynchronous"
1436
  msgstr ""
1437
 
1438
- #: src/Tribe/Aggregator/Settings.php:872
1439
  msgid "Cron-based"
1440
  msgstr ""
1441
 
@@ -1488,7 +1522,7 @@ msgid "Favorite Imports"
1488
  msgstr ""
1489
 
1490
  #: src/Tribe/Aggregator/Tabs/History.php:55
1491
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:57
1492
  msgid "Records per page"
1493
  msgstr ""
1494
 
@@ -1496,240 +1530,241 @@ msgstr ""
1496
  msgid "History"
1497
  msgstr ""
1498
 
1499
- #: src/Tribe/Aggregator/Tabs/New.php:80
1500
  msgid "New Import"
1501
  msgstr ""
1502
 
1503
- #: src/Tribe/Aggregator/Tabs/New.php:164
1504
  msgid "1 import was scheduled."
1505
  msgstr ""
1506
 
1507
- #: src/Tribe/Aggregator/Tabs/New.php:251
1508
  msgid "%1$d new %2$s was imported."
1509
  msgid_plural "%1$d new %2$s were imported."
1510
  msgstr[0] ""
1511
  msgstr[1] ""
1512
 
1513
- #: src/Tribe/Aggregator/Tabs/New.php:263
1514
  msgid "%1$d existing %2$s was updated."
1515
  msgid_plural "%1$d existing %2$s were updated."
1516
  msgstr[0] ""
1517
  msgstr[1] ""
1518
 
1519
- #: src/Tribe/Aggregator/Tabs/New.php:274
1520
  msgid "%1$d already-imported %2$s was skipped."
1521
  msgid_plural "%1$d already-imported %2$s were skipped."
1522
  msgstr[0] ""
1523
  msgstr[1] ""
1524
 
1525
- #: src/Tribe/Aggregator/Tabs/New.php:283
1526
  msgid "%1$d new image was imported."
1527
  msgid_plural "%1$d new images were imported."
1528
  msgstr[0] ""
1529
  msgstr[1] ""
1530
 
1531
  #. translators: %1$d is replaced with a number of scheduled images.
1532
- #: src/Tribe/Aggregator/Tabs/New.php:292
1533
  msgid "%1$d new image was scheduled for import."
1534
  msgid_plural "%1$d new images were scheduled for import."
1535
  msgstr[0] ""
1536
  msgstr[1] ""
1537
 
1538
- #: src/Tribe/Aggregator/Tabs/New.php:304
1539
  msgid "No %1$s were imported or updated."
1540
  msgstr ""
1541
 
1542
- #: src/Tribe/Aggregator/Tabs/New.php:312
1543
  msgid "View all %s"
1544
  msgstr ""
1545
 
1546
- #: src/Tribe/Aggregator/Tabs/New.php:322
1547
  msgid "%1$d new venue was imported."
1548
  msgid_plural "%1$d new venues were imported."
1549
  msgstr[0] ""
1550
  msgstr[1] ""
1551
 
1552
- #: src/Tribe/Aggregator/Tabs/New.php:326
1553
  msgid "View your event venues"
1554
  msgstr ""
1555
 
1556
- #: src/Tribe/Aggregator/Tabs/New.php:334
1557
  msgid "%1$d new organizer was imported."
1558
  msgid_plural "%1$d new organizers were imported."
1559
  msgstr[0] ""
1560
  msgstr[1] ""
1561
 
1562
- #: src/Tribe/Aggregator/Tabs/New.php:338
1563
  msgid "View your event organizers"
1564
  msgstr ""
1565
 
1566
- #: src/Tribe/Aggregator/Tabs/New.php:347
1567
  msgid "%1$d new event category was created."
1568
  msgid_plural "%1$d new event categories were created."
1569
  msgstr[0] ""
1570
  msgstr[1] ""
1571
 
1572
- #: src/Tribe/Aggregator/Tabs/New.php:351
1573
  msgid "View your event categories"
1574
  msgstr ""
1575
 
1576
- #: src/Tribe/Aggregator/Tabs/New.php:359
1577
  msgid "%1$d new event tag was created."
1578
  msgid_plural "%1$d new event tags were created."
1579
  msgstr[0] ""
1580
  msgstr[1] ""
1581
 
1582
- #: src/Tribe/Aggregator/Tabs/New.php:363
1583
  msgid "View your event tags"
1584
  msgstr ""
1585
 
1586
- #: src/Tribe/Aggregator/Tabs/New.php:374
1587
  msgid "Import complete!"
1588
  msgstr ""
1589
 
1590
- #: src/Tribe/Aggregator/Tabs/New.php:376
1591
  msgid "Your scheduled import was saved and the first import is complete!"
1592
  msgstr ""
1593
 
1594
- #: src/Tribe/Aggregator/Tabs/New.php:380
1595
  msgctxt "separator between date and time"
1596
  msgid " at "
1597
  msgstr ""
1598
 
1599
- #: src/Tribe/Aggregator/Tabs/New.php:387
1600
  msgid "The next import is scheduled for %1$s."
1601
  msgstr ""
1602
 
1603
- #: src/Tribe/Aggregator/Tabs/New.php:391
1604
  msgid "View your scheduled imports."
1605
  msgstr ""
1606
 
1607
- #: src/Tribe/Aggregator/Tabs/New.php:403
1608
  msgid "Invalid credential save request"
1609
  msgstr ""
1610
 
1611
- #: src/Tribe/Aggregator/Tabs/New.php:413
1612
  msgid "Invalid credential save nonce"
1613
  msgstr ""
1614
 
1615
- #: src/Tribe/Aggregator/Tabs/New.php:422
1616
  msgid "The Meetup API key is required."
1617
  msgstr ""
1618
 
1619
- #: src/Tribe/Aggregator/Tabs/New.php:431
1620
  msgid "Credentials have been saved"
1621
  msgstr ""
1622
 
1623
- #: src/Tribe/Aggregator/Tabs/New.php:438
1624
  msgid "Unable to save credentials"
1625
  msgstr ""
1626
 
1627
- #: src/Tribe/Aggregator/Tabs/New.php:522
1628
  msgid "Events Aggregator"
1629
  msgstr ""
1630
 
1631
- #: src/Tribe/Aggregator/Tabs/New.php:525
1632
  msgid "Import events with ease"
1633
  msgstr ""
1634
 
1635
- #: src/Tribe/Aggregator/Tabs/New.php:527
1636
  msgid ""
1637
  "Effortlessly fill your calendar with events from Meetup, Eventbrite, iCal, "
1638
  "Google Calendar, and more."
1639
  msgstr ""
1640
 
1641
- #: src/Tribe/Aggregator/Tabs/New.php:530
1642
  msgid "Learn More"
1643
  msgstr ""
1644
 
1645
- #: src/Tribe/Aggregator/Tabs/New.php:532
1646
  #: src/admin-views/aggregator/banners/eventbrite-upsell.php:19
1647
  msgid "opens in a new window"
1648
  msgstr ""
1649
 
1650
- #: src/Tribe/Aggregator/Tabs/New.php:581
1651
  msgid "Your Event Aggregator license is expired."
1652
  msgstr ""
1653
 
1654
- #: src/Tribe/Aggregator/Tabs/New.php:582
1655
  msgid ""
1656
  "Renew your license in order to import events from iCalendar, Google, or "
1657
  "Meetup."
1658
  msgstr ""
1659
 
1660
- #: src/Tribe/Aggregator/Tabs/New.php:585
1661
  msgid "Renew your Event Aggregator license"
1662
  msgstr ""
1663
 
1664
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:94
1665
  msgid "Scheduled Imports"
1666
  msgstr ""
1667
 
1668
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:181
1669
  msgid "queued"
1670
  msgstr ""
1671
 
1672
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:185
1673
  msgid "delete"
1674
  msgstr ""
1675
 
1676
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:189
1677
  msgid "reactivated"
1678
  msgstr ""
1679
 
1680
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:193
1681
  msgid "deactivated"
1682
  msgstr ""
1683
 
1684
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:246
1685
  msgid "Error: %d scheduled import was not %s."
1686
  msgstr ""
1687
 
1688
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:256
1689
  msgid "Successfully %s %d scheduled import"
1690
  msgstr ""
1691
 
1692
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:371
1693
  msgid ""
1694
  "All scheduled imports are currently suspended, and no events will be "
1695
  "imported."
1696
  msgstr ""
1697
 
1698
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:376
 
1699
  msgid ""
1700
  "To continue using scheduled imports, please enter a valid Event Aggregator "
1701
  "license key under %1$sEvents > Settings > Licenses%2$s."
1702
  msgstr ""
1703
 
1704
- #: src/Tribe/Aggregator/Tabs/Scheduled.php:382
1705
  msgid "Enter Event Aggregator License"
1706
  msgstr ""
1707
 
1708
- #: src/Tribe/Aggregator.php:93
1709
  msgid "Event Aggregator System Status"
1710
  msgstr ""
1711
 
1712
- #: src/Tribe/Aggregator.php:352
1713
  msgid "You must use an integer to reduce the daily import limit"
1714
  msgstr ""
1715
 
1716
- #: src/Tribe/Aggregator.php:564
1717
  msgid "Successfully connected Event Aggregator to Facebook"
1718
  msgstr ""
1719
 
1720
- #: src/Tribe/Aggregator.php:614
1721
  msgid "Your Event Aggregator Facebook token expired %s."
1722
  msgstr ""
1723
 
1724
- #: src/Tribe/Aggregator.php:616
1725
  msgid "Your Event Aggregator Facebook token will expire %s."
1726
  msgstr ""
1727
 
1728
- #: src/Tribe/Aggregator.php:625
1729
  msgid "Renew your Event Aggregator Facebook token"
1730
  msgstr ""
1731
 
1732
- #: src/Tribe/Amalgamator.php:453 src/admin-views/tribe-options-general.php:172
1733
  msgid "Merge Duplicates"
1734
  msgstr ""
1735
 
@@ -2001,10 +2036,6 @@ msgstr ""
2001
  msgid "Custom"
2002
  msgstr ""
2003
 
2004
- #: src/Tribe/Customizer/Global_Elements.php:133
2005
- msgid "General"
2006
- msgstr ""
2007
-
2008
  #: src/Tribe/Customizer/Global_Elements.php:133
2009
  #: src/Tribe/Views/V2/Customizer/Section/Global_Elements.php:122
2010
  msgid "Global Elements"
@@ -2148,15 +2179,15 @@ msgstr ""
2148
  #: src/Tribe/Template/Single_Event.php:123
2149
  #: src/Tribe/Views/V2/Template_Bootstrap.php:141
2150
  #: src/Tribe/Views/V2/Template_Bootstrap.php:181
2151
- #: src/Tribe/Views/V2/Template_Bootstrap.php:506
2152
  msgid "This %s has passed."
2153
  msgstr ""
2154
 
2155
- #: src/Tribe/Editor.php:287 src/Tribe/Editor.php:330
2156
  msgid "Add Description..."
2157
  msgstr ""
2158
 
2159
- #: src/Tribe/Editor.php:661 src/Tribe/Editor.php:694
2160
  msgid "Event Blocks"
2161
  msgstr ""
2162
 
@@ -2505,110 +2536,106 @@ msgid "Event Cost"
2505
  msgstr ""
2506
 
2507
  #: src/Tribe/Importer/Column_Mapper.php:79
2508
- msgid "Event ISO Currency Code"
2509
- msgstr ""
2510
-
2511
- #: src/Tribe/Importer/Column_Mapper.php:80
2512
  msgid "Event Currency Symbol"
2513
  msgstr ""
2514
 
2515
- #: src/Tribe/Importer/Column_Mapper.php:81
2516
  msgid "Event Currency Position"
2517
  msgstr ""
2518
 
2519
- #: src/Tribe/Importer/Column_Mapper.php:82
2520
  msgid "Event Category"
2521
  msgstr ""
2522
 
2523
- #: src/Tribe/Importer/Column_Mapper.php:83
2524
  msgid "Event Tags"
2525
  msgstr ""
2526
 
2527
- #: src/Tribe/Importer/Column_Mapper.php:84
2528
  msgid "Event Website"
2529
  msgstr ""
2530
 
2531
- #: src/Tribe/Importer/Column_Mapper.php:85
2532
  msgid "Event Featured Image"
2533
  msgstr ""
2534
 
2535
- #: src/Tribe/Importer/Column_Mapper.php:86
2536
  msgid "Event Allow Comments"
2537
  msgstr ""
2538
 
2539
- #: src/Tribe/Importer/Column_Mapper.php:87
2540
  msgid "Event Allow Trackbacks and Pingbacks"
2541
  msgstr ""
2542
 
2543
- #: src/Tribe/Importer/Column_Mapper.php:100
2544
  msgid "Venue Name"
2545
  msgstr ""
2546
 
2547
- #: src/Tribe/Importer/Column_Mapper.php:101
2548
  msgid "Venue Description"
2549
  msgstr ""
2550
 
2551
- #: src/Tribe/Importer/Column_Mapper.php:102
2552
  #: src/admin-views/create-venue-fields.php:120
2553
  msgid "Venue Country"
2554
  msgstr ""
2555
 
2556
- #: src/Tribe/Importer/Column_Mapper.php:103
2557
  #: src/admin-views/create-venue-fields.php:82
2558
  msgid "Venue Address"
2559
  msgstr ""
2560
 
2561
- #: src/Tribe/Importer/Column_Mapper.php:104
2562
  msgid "Venue Address 2"
2563
  msgstr ""
2564
 
2565
- #: src/Tribe/Importer/Column_Mapper.php:105
2566
  #: src/admin-views/create-venue-fields.php:95
2567
  msgid "Venue City"
2568
  msgstr ""
2569
 
2570
- #: src/Tribe/Importer/Column_Mapper.php:106
2571
  msgid "Venue State/Province"
2572
  msgstr ""
2573
 
2574
- #: src/Tribe/Importer/Column_Mapper.php:107
2575
  msgid "Venue Zip"
2576
  msgstr ""
2577
 
2578
- #: src/Tribe/Importer/Column_Mapper.php:108
2579
  #: src/admin-views/create-venue-fields.php:190
2580
  msgid "Venue Phone"
2581
  msgstr ""
2582
 
2583
- #: src/Tribe/Importer/Column_Mapper.php:109
2584
  msgid "Venue Website"
2585
  msgstr ""
2586
 
2587
- #: src/Tribe/Importer/Column_Mapper.php:110
2588
  msgid "Venue Featured Image"
2589
  msgstr ""
2590
 
2591
- #: src/Tribe/Importer/Column_Mapper.php:123
2592
  msgid "Organizer Name"
2593
  msgstr ""
2594
 
2595
- #: src/Tribe/Importer/Column_Mapper.php:124
2596
  msgid "Organizer Description"
2597
  msgstr ""
2598
 
2599
- #: src/Tribe/Importer/Column_Mapper.php:125
2600
  msgid "Organizer Email"
2601
  msgstr ""
2602
 
2603
- #: src/Tribe/Importer/Column_Mapper.php:126
2604
  msgid "Organizer Website"
2605
  msgstr ""
2606
 
2607
- #: src/Tribe/Importer/Column_Mapper.php:127
2608
  msgid "Organizer Phone"
2609
  msgstr ""
2610
 
2611
- #: src/Tribe/Importer/Column_Mapper.php:128
2612
  msgid "Organizer Featured Image"
2613
  msgstr ""
2614
 
@@ -2640,11 +2667,11 @@ msgstr ""
2640
  msgid "Could not save %s."
2641
  msgstr ""
2642
 
2643
- #: src/Tribe/Integrations/Freemius.php:342
2644
  msgid "We hope you love %1$s"
2645
  msgstr ""
2646
 
2647
- #: src/Tribe/Integrations/Freemius.php:347
2648
  msgid ""
2649
  "Hi, %1$s! This is an invitation to help our %2$s community. If you opt-in, "
2650
  "some data about your usage of %2$s will be shared with our teams (so they "
@@ -2652,11 +2679,11 @@ msgid ""
2652
  "on events management, WordPress, and our products from time to time."
2653
  msgstr ""
2654
 
2655
- #: src/Tribe/Integrations/Freemius.php:351
2656
  msgid "And if you skip this, that's okay! %1$s will still work just fine."
2657
  msgstr ""
2658
 
2659
- #: src/Tribe/Integrations/Freemius.php:355
2660
  msgid "Powered by"
2661
  msgstr ""
2662
 
@@ -2786,205 +2813,205 @@ msgstr ""
2786
  msgid "Upcoming Events"
2787
  msgstr ""
2788
 
2789
- #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.14.2) #-#-#-#-#
2790
  #. Plugin Name of the plugin/theme
2791
- #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.14.2) #-#-#-#-#
2792
  #. Author of the plugin/theme
2793
- #: src/Tribe/Main.php:1009 src/Tribe/Main.php:1513 src/Tribe/Privacy.php:29
2794
  #: src/admin-views/admin-welcome-message.php:29
2795
  #: src/functions/template-tags/general.php:1533 the-events-calendar.php:55
2796
  msgid "The Events Calendar"
2797
  msgstr ""
2798
 
2799
- #: src/Tribe/Main.php:1016
2800
  msgid "month"
2801
  msgstr ""
2802
 
2803
- #: src/Tribe/Main.php:1017
2804
  msgid "list"
2805
  msgstr ""
2806
 
2807
- #: src/Tribe/Main.php:1018
2808
  msgid "upcoming"
2809
  msgstr ""
2810
 
2811
- #: src/Tribe/Main.php:1019
2812
  msgid "past"
2813
  msgstr ""
2814
 
2815
- #: src/Tribe/Main.php:1020
2816
  msgid "day"
2817
  msgstr ""
2818
 
2819
- #: src/Tribe/Main.php:1021
2820
  msgid "today"
2821
  msgstr ""
2822
 
2823
- #: src/Tribe/Main.php:1022
2824
  msgctxt "featured events slug"
2825
  msgid "featured"
2826
  msgstr ""
2827
 
2828
- #: src/Tribe/Main.php:1023
2829
  msgctxt "all events slug"
2830
  msgid "all"
2831
  msgstr ""
2832
 
2833
- #: src/Tribe/Main.php:1049
2834
  msgid "Initializing Tribe Events on %s"
2835
  msgstr ""
2836
 
2837
- #: src/Tribe/Main.php:1108 src/Tribe/Main.php:1110
2838
  msgid "Welcome to The Events Calendar!"
2839
  msgstr ""
2840
 
2841
- #: src/Tribe/Main.php:1259
2842
  msgid ""
2843
  "The %3$s \"%1$s\" uses the \"/%2$s\" slug: the Events Calendar plugin will "
2844
  "show its calendar in place of the page."
2845
  msgstr ""
2846
 
2847
- #: src/Tribe/Main.php:1262
2848
  msgid "Ask the site administrator to edit the %s slug"
2849
  msgstr ""
2850
 
2851
- #: src/Tribe/Main.php:1264
2852
  msgid "Edit the %s slug"
2853
  msgstr ""
2854
 
2855
- #: src/Tribe/Main.php:1268
2856
  msgid " ask the site administrator to set a different Events URL slug."
2857
  msgstr ""
2858
 
2859
- #: src/Tribe/Main.php:1273
2860
  msgid "edit Events settings."
2861
  msgstr ""
2862
 
2863
- #: src/Tribe/Main.php:1276
2864
  msgid "%1$s or %2$s"
2865
  msgstr ""
2866
 
2867
- #: src/Tribe/Main.php:1345
2868
  msgid "Upgrade your calendar views"
2869
  msgstr ""
2870
 
2871
- #: src/Tribe/Main.php:1382
2872
  msgid "Upgrade"
2873
  msgstr ""
2874
 
2875
- #: src/Tribe/Main.php:1433
2876
  msgid "New User Primer"
2877
  msgstr ""
2878
 
2879
- #: src/Tribe/Main.php:1435
2880
  msgid ""
2881
  "We are committed to helping make your calendar spectacular and have a wealth "
2882
  "of resources available, including a handy %s to get your calendar up and "
2883
  "running."
2884
  msgstr ""
2885
 
2886
- #: src/Tribe/Main.php:1446
2887
  msgid "Support for The Events Calendar"
2888
  msgstr ""
2889
 
2890
- #: src/Tribe/Main.php:1452
2891
  msgid ""
2892
  "%s: A thorough walkthrough of The Events Calendar and the settings that are "
2893
  "available to you."
2894
  msgstr ""
2895
 
2896
- #: src/Tribe/Main.php:1456
2897
  msgid "Settings overview"
2898
  msgstr ""
2899
 
2900
- #: src/Tribe/Main.php:1460
2901
  msgid ""
2902
  "%s: A complete look at the features you can expect to see right out of the "
2903
  "box as well as how to use them."
2904
  msgstr ""
2905
 
2906
- #: src/Tribe/Main.php:1464
2907
  msgid "Features overview"
2908
  msgstr ""
2909
 
2910
- #: src/Tribe/Main.php:1468
2911
  msgid ""
2912
  "%s: Our most comprehensive outline for customizing the calendar to suit your "
2913
  "needs, including custom layouts and styles."
2914
  msgstr ""
2915
 
2916
- #: src/Tribe/Main.php:1472
2917
  msgid "Themer's Guide"
2918
  msgstr ""
2919
 
2920
- #: src/Tribe/Main.php:1476
2921
  msgid ""
2922
  "%s: An overview of the default templates and styles that are included in the "
2923
  "plugin, as well as how to change them."
2924
  msgstr ""
2925
 
2926
- #: src/Tribe/Main.php:1480
2927
  msgid "Using stylesheets and page templates"
2928
  msgstr ""
2929
 
2930
- #: src/Tribe/Main.php:1484
2931
  msgid ""
2932
  "%s: Do you see an issue with your calendar? Go here first to find where it’s "
2933
  "coming from and how to fix it."
2934
  msgstr ""
2935
 
2936
- #: src/Tribe/Main.php:1488
2937
  msgid "Troubleshooting common problems"
2938
  msgstr ""
2939
 
2940
- #: src/Tribe/Main.php:1492
2941
  msgid ""
2942
  "%s: Code and guides for customizing your calendar in useful and interesting "
2943
  "ways."
2944
  msgstr ""
2945
 
2946
- #: src/Tribe/Main.php:1496
2947
  msgid "Customizing the Events plugins"
2948
  msgstr ""
2949
 
2950
- #: src/Tribe/Main.php:1514
2951
  msgid "Events Tickets"
2952
  msgstr ""
2953
 
2954
- #: src/Tribe/Main.php:1515
2955
  msgid ""
2956
  "If you have tried the above steps and are still having trouble, you can post "
2957
  "a new thread to our WordPress.org forums for %1$s or %2$s. Our support staff "
2958
  "monitors these forums once a week and would be happy to assist you there. "
2959
  msgstr ""
2960
 
2961
- #: src/Tribe/Main.php:1517 src/Tribe/Main.php:1525
2962
  msgid "premium support on our website"
2963
  msgstr ""
2964
 
2965
- #: src/Tribe/Main.php:1518
2966
  msgid ""
2967
  "<strong>Looking for more immediate support?</strong> We offer %s with the "
2968
  "purchase of any of our premium plugins. Pick up a license and you can post "
2969
  "there directly and expect a response within 24-48 hours during weekdays"
2970
  msgstr ""
2971
 
2972
- #: src/Tribe/Main.php:1522
2973
  msgid "open-source forum on WordPress.org"
2974
  msgstr ""
2975
 
2976
- #: src/Tribe/Main.php:1523
2977
  msgid ""
2978
  "If you have tried the above steps and are still having trouble, you can post "
2979
  "a new thread to our %s. Our support staff monitors these forums once a week "
2980
  "and would be happy to assist you there."
2981
  msgstr ""
2982
 
2983
- #: src/Tribe/Main.php:1526
2984
  msgid "Events Calendar PRO"
2985
  msgstr ""
2986
 
2987
- #: src/Tribe/Main.php:1527
2988
  msgid ""
2989
  "<strong>Looking for more immediate support?</strong> We offer %1$s with the "
2990
  "purchase of any of our premium plugins (like %2$s). Pick up a license and "
@@ -2992,113 +3019,113 @@ msgid ""
2992
  "weekdays."
2993
  msgstr ""
2994
 
2995
- #: src/Tribe/Main.php:1531
2996
  msgid "post a thread"
2997
  msgstr ""
2998
 
2999
- #: src/Tribe/Main.php:1532
3000
  msgid ""
3001
  "If you have a valid license for one of our paid plugins, you can %s in our "
3002
  "premium support forums. Our support team monitors the forums and will "
3003
  "respond to your thread within 24-48 hours (during the week)."
3004
  msgstr ""
3005
 
3006
- #: src/Tribe/Main.php:1575
3007
  #: src/deprecated/Tribe__Events__Importer__Admin_Page.php:208
3008
  #: src/functions/template-tags/general.php:137
3009
  msgid "Events"
3010
  msgstr ""
3011
 
3012
- #: src/Tribe/Main.php:1583 src/admin-views/aggregator/tabs/import-form.php:227
3013
  #: src/admin-views/aggregator/tabs/import-form.php:239
3014
  #: src/functions/template-tags/general.php:81
3015
  msgid "Event"
3016
  msgstr ""
3017
 
3018
- #: src/Tribe/Main.php:1801
3019
  msgid ""
3020
  "Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
3021
  "your WordPress install."
3022
  msgstr ""
3023
 
3024
- #: src/Tribe/Main.php:1804
3025
  msgid ""
3026
  "Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
3027
  "about moving you to a newer version of PHP."
3028
  msgstr ""
3029
 
3030
- #: src/Tribe/Main.php:1839
3031
  msgid ""
3032
  "To continue using The Events Calendar, please install the latest version of"
3033
  msgstr ""
3034
 
3035
- #: src/Tribe/Main.php:1841 src/Tribe/Main.php:1842
3036
  msgid "Event Tickets"
3037
  msgstr ""
3038
 
3039
- #: src/Tribe/Main.php:1877
3040
  msgid ""
3041
  "It appears as if the tribe-common libraries cannot be found! The directory "
3042
  "should be in the \"common/\" directory in the events calendar plugin."
3043
  msgstr ""
3044
 
3045
- #: src/Tribe/Main.php:2114 src/Tribe/Main.php:2666
3046
  msgid "category"
3047
  msgstr ""
3048
 
3049
- #: src/Tribe/Main.php:2128 src/Tribe/Main.php:2665
3050
  msgid "tag"
3051
  msgstr ""
3052
 
3053
- #: src/Tribe/Main.php:2163 src/Tribe/Organizer.php:91 src/Tribe/Venue.php:127
3054
  msgid "Add New"
3055
  msgstr ""
3056
 
3057
- #: src/Tribe/Main.php:2165 src/Tribe/Main.php:2372 src/Tribe/Main.php:2373
3058
  #: src/Tribe/Organizer.php:92 src/Tribe/Venue.php:128
3059
  msgid "Add New %s"
3060
  msgstr ""
3061
 
3062
- #: src/Tribe/Main.php:2171 src/Tribe/Organizer.php:94 src/Tribe/Venue.php:130
3063
  msgid "New %s"
3064
  msgstr ""
3065
 
3066
- #: src/Tribe/Main.php:2174 src/Tribe/Organizer.php:95 src/Tribe/Venue.php:131
3067
  #: src/views/month/single-day.php:31
3068
  msgid "View %s"
3069
  msgstr ""
3070
 
3071
- #: src/Tribe/Main.php:2177 src/Tribe/Organizer.php:96 src/Tribe/Venue.php:132
3072
  msgid "Search %s"
3073
  msgstr ""
3074
 
3075
- #: src/Tribe/Main.php:2180 src/Tribe/Organizer.php:97 src/Tribe/Venue.php:133
3076
  msgid "No %s found"
3077
  msgstr ""
3078
 
3079
- #: src/Tribe/Main.php:2183 src/Tribe/Organizer.php:98 src/Tribe/Venue.php:134
3080
  msgid "No %s found in Trash"
3081
  msgstr ""
3082
 
3083
- #: src/Tribe/Main.php:2186 src/Tribe/Main.php:2325 src/Tribe/Main.php:2347
3084
  #: src/Tribe/Organizer.php:99 src/Tribe/Venue.php:135
3085
  msgid "%s published."
3086
  msgstr ""
3087
 
3088
- #: src/Tribe/Main.php:2189 src/Tribe/Organizer.php:100 src/Tribe/Venue.php:136
3089
  msgid "%s published privately."
3090
  msgstr ""
3091
 
3092
- #: src/Tribe/Main.php:2192 src/Tribe/Organizer.php:101 src/Tribe/Venue.php:137
3093
  msgid "%s reverted to draft."
3094
  msgstr ""
3095
 
3096
- #: src/Tribe/Main.php:2195 src/Tribe/Organizer.php:102 src/Tribe/Venue.php:138
3097
  msgid "%s scheduled."
3098
  msgstr ""
3099
 
3100
- #: src/Tribe/Main.php:2198 src/Tribe/Main.php:2281 src/Tribe/Main.php:2317
3101
- #: src/Tribe/Main.php:2320 src/Tribe/Main.php:2339 src/Tribe/Main.php:2342
3102
  #: src/Tribe/Organizer.php:103 src/Tribe/Venue.php:139
3103
  msgid "%s updated."
3104
  msgstr ""
@@ -3106,333 +3133,334 @@ msgstr ""
3106
  #. Translators: %s: Event singular.
3107
  #. Translators: %s: Organizer singular.
3108
  #. Translators: %s: Venue singular.
3109
- #: src/Tribe/Main.php:2202 src/Tribe/Organizer.php:106 src/Tribe/Venue.php:142
3110
  msgid "%s Link"
3111
  msgstr ""
3112
 
3113
  #. Translators: %s: Event singular.
3114
  #. Translators: %s: Organizer singular.
3115
  #. Translators: %s: Venue singular.
3116
- #: src/Tribe/Main.php:2206 src/Tribe/Organizer.php:110 src/Tribe/Venue.php:146
3117
  msgid "A link to a particular %s."
3118
  msgstr ""
3119
 
3120
- #: src/Tribe/Main.php:2223
3121
  msgid "%s Category"
3122
  msgstr ""
3123
 
3124
- #: src/Tribe/Main.php:2226
3125
  msgid "Search %s Categories"
3126
  msgstr ""
3127
 
3128
- #: src/Tribe/Main.php:2229
3129
  msgid "All %s Categories"
3130
  msgstr ""
3131
 
3132
- #: src/Tribe/Main.php:2232
3133
  msgid "Parent %s Category"
3134
  msgstr ""
3135
 
3136
- #: src/Tribe/Main.php:2235
3137
  msgid "Parent %s Category:"
3138
  msgstr ""
3139
 
3140
- #: src/Tribe/Main.php:2238
3141
  msgid "Edit %s Category"
3142
  msgstr ""
3143
 
3144
- #: src/Tribe/Main.php:2241
3145
  msgid "Update %s Category"
3146
  msgstr ""
3147
 
3148
- #: src/Tribe/Main.php:2244
3149
  msgid "Add New %s Category"
3150
  msgstr ""
3151
 
3152
- #: src/Tribe/Main.php:2247
3153
  msgid "New %s Category Name"
3154
  msgstr ""
3155
 
3156
  #. Translators: %s: Event singular.
3157
- #: src/Tribe/Main.php:2251
3158
  msgid "%s Category Link"
3159
  msgstr ""
3160
 
3161
  #. Translators: %s: Event singular.
3162
- #: src/Tribe/Main.php:2255
3163
  msgid "A link to a particular %s category."
3164
  msgstr ""
3165
 
3166
- #: src/Tribe/Main.php:2274
3167
  msgid "%1$s updated. %2$sView %1$s%3$s"
3168
  msgstr ""
3169
 
3170
- #: src/Tribe/Main.php:2279 src/Tribe/Main.php:2318 src/Tribe/Main.php:2340
3171
  msgid "Custom field updated."
3172
  msgstr ""
3173
 
3174
- #: src/Tribe/Main.php:2280 src/Tribe/Main.php:2319 src/Tribe/Main.php:2341
3175
  msgid "Custom field deleted."
3176
  msgstr ""
3177
 
3178
  #. translators: %s: date and time of the revision
3179
- #: src/Tribe/Main.php:2284 src/Tribe/Main.php:2323
3180
  msgid "%1$s restored to revision from %2$s"
3181
  msgstr ""
3182
 
3183
- #: src/Tribe/Main.php:2287
3184
  msgid "%1$s published. %2$sView %3$s"
3185
  msgstr ""
3186
 
3187
- #: src/Tribe/Main.php:2292 src/Tribe/Main.php:2326 src/Tribe/Main.php:2348
3188
  msgid "%s saved."
3189
  msgstr ""
3190
 
3191
- #: src/Tribe/Main.php:2294
3192
  msgid "%1$s submitted. %2$sPreview %3$s"
3193
  msgstr ""
3194
 
3195
- #: src/Tribe/Main.php:2300
3196
  msgid "%1$s scheduled for: %2$s. %3$sPreview %4$s"
3197
  msgstr ""
3198
 
3199
  #. translators: Publish box date format, see http://php.net/date
3200
- #: src/Tribe/Main.php:2303 src/Tribe/Main.php:2332 src/Tribe/Main.php:2354
3201
  msgid "M j, Y @ G:i"
3202
  msgstr ""
3203
 
3204
- #: src/Tribe/Main.php:2308
3205
  msgid "%1$s draft updated. %2$sPreview %3$s"
3206
  msgstr ""
3207
 
3208
- #: src/Tribe/Main.php:2327 src/Tribe/Main.php:2349
3209
  msgid "%s submitted."
3210
  msgstr ""
3211
 
3212
- #: src/Tribe/Main.php:2329 src/Tribe/Main.php:2351
3213
  msgid "%1$s scheduled for: %2$s."
3214
  msgstr ""
3215
 
3216
- #: src/Tribe/Main.php:2334 src/Tribe/Main.php:2357
3217
  msgid "%s draft updated."
3218
  msgstr ""
3219
 
3220
  #. translators: %s: date and time of the revision
3221
- #: src/Tribe/Main.php:2345
3222
  msgid "%s restored to revision from %s"
3223
  msgstr ""
3224
 
3225
- #: src/Tribe/Main.php:2402
3226
  msgid ""
3227
  "Without a defined location your event will not display a %sGoogle Rich "
3228
  "Snippet%s on the search results."
3229
  msgstr ""
3230
 
3231
- #: src/Tribe/Main.php:2667
3232
  msgid "page"
3233
  msgstr ""
3234
 
3235
- #: src/Tribe/Main.php:2668 src/functions/template-tags/general.php:109
3236
  msgid "event"
3237
  msgstr ""
3238
 
3239
- #: src/Tribe/Main.php:2669 src/functions/template-tags/general.php:165
3240
  msgid "events"
3241
  msgstr ""
3242
 
3243
- #: src/Tribe/Main.php:2670
3244
  msgid "all"
3245
  msgstr ""
3246
 
3247
- #: src/Tribe/Main.php:3059
 
3248
  msgid " (View Full %1$s Description Here: %2$s)"
3249
  msgstr ""
3250
 
3251
- #: src/Tribe/Main.php:3852 src/Tribe/Main.php:3887
3252
  #: src/functions/template-tags/day.php:157
3253
  #: src/functions/template-tags/day.php:178
3254
  msgid "Date out of range."
3255
  msgstr ""
3256
 
3257
- #: src/Tribe/Main.php:3917
3258
  msgid "%s Options"
3259
  msgstr ""
3260
 
3261
- #: src/Tribe/Main.php:4270
3262
  msgid "Support"
3263
  msgstr ""
3264
 
3265
- #: src/Tribe/Main.php:4273
3266
  msgid "View All Add-Ons"
3267
  msgstr ""
3268
 
3269
- #: src/Tribe/Main.php:4294
3270
  msgid "News from The Events Calendar"
3271
  msgstr ""
3272
 
3273
- #: src/Tribe/Main.php:4340
3274
  msgid "Additional Functionality"
3275
  msgstr ""
3276
 
3277
- #: src/Tribe/Main.php:4345
3278
  msgid ""
3279
  "Looking for additional functionality including recurring events, ticket "
3280
  "sales, publicly submitted events, new views and more?"
3281
  msgstr ""
3282
 
3283
- #: src/Tribe/Main.php:4346
3284
  msgid "Check out the %savailable add-ons%s."
3285
  msgstr ""
3286
 
3287
- #: src/Tribe/Main.php:4447
3288
  msgid "Calendar"
3289
  msgstr ""
3290
 
3291
- #: src/Tribe/Main.php:4463
3292
  msgid "List"
3293
  msgstr ""
3294
 
3295
- #: src/Tribe/Main.php:4481
3296
  msgid "Month"
3297
  msgstr ""
3298
 
3299
- #: src/Tribe/Main.php:4498 src/admin-views/aggregator/fields/schedule.php:43
3300
  #: src/admin-views/aggregator/fields/schedule.php:61
3301
  msgid "Day"
3302
  msgstr ""
3303
 
3304
- #: src/Tribe/Main.php:4521
3305
  msgid "Search for %s by Keyword."
3306
  msgstr ""
3307
 
3308
- #: src/Tribe/Main.php:4524
3309
  #: src/views/v2/components/events-bar/search-button.php:24
3310
  msgid "Search"
3311
  msgstr ""
3312
 
3313
- #: src/Tribe/Main.php:4525
3314
  msgid "Keyword"
3315
  msgstr ""
3316
 
3317
- #: src/Tribe/Main.php:4542
3318
  msgid "4 digit year hyphen 2 digit month hyphen 2 digit day"
3319
  msgstr ""
3320
 
3321
- #: src/Tribe/Main.php:4543
3322
  msgid "1 digit month slash 1 digit day slash 4 digit year"
3323
  msgstr ""
3324
 
3325
- #: src/Tribe/Main.php:4544
3326
  msgid "2 digit month slash 2 digit day slash 4 digit year"
3327
  msgstr ""
3328
 
3329
- #: src/Tribe/Main.php:4545
3330
  msgid "1 digit day slash 1 digit month slash 4 digit year"
3331
  msgstr ""
3332
 
3333
- #: src/Tribe/Main.php:4546
3334
  msgid "2 digit day slash 2 digit month slash 4 digit year"
3335
  msgstr ""
3336
 
3337
- #: src/Tribe/Main.php:4547
3338
  msgid "1 digit month hyphen 1 digit day hyphen 4 digit year"
3339
  msgstr ""
3340
 
3341
- #: src/Tribe/Main.php:4548
3342
  msgid "1 digit month hyphen 2 digit day hyphen 4 digit year"
3343
  msgstr ""
3344
 
3345
- #: src/Tribe/Main.php:4549
3346
  msgid "1 digit day hyphen 1 digit month hyphen 4 digit year"
3347
  msgstr ""
3348
 
3349
- #: src/Tribe/Main.php:4550
3350
  msgid "2 digit day hyphen 2 digit month hyphen 4 digit year"
3351
  msgstr ""
3352
 
3353
- #: src/Tribe/Main.php:4551
3354
  msgid "4 digit year dot 2 digit month dot 2 digit day"
3355
  msgstr ""
3356
 
3357
- #: src/Tribe/Main.php:4552
3358
  msgid "2 digit month dot 2 digit day dot 4 digit year"
3359
  msgstr ""
3360
 
3361
- #: src/Tribe/Main.php:4553
3362
  msgid "2 digit day dot 2 digit month dot 4 digit year"
3363
  msgstr ""
3364
 
3365
- #: src/Tribe/Main.php:4557
3366
  msgid "4 digit year hyphen 2 digit month"
3367
  msgstr ""
3368
 
3369
- #: src/Tribe/Main.php:4558 src/Tribe/Main.php:4560
3370
  msgid "1 digit month slash 4 digit year"
3371
  msgstr ""
3372
 
3373
- #: src/Tribe/Main.php:4559 src/Tribe/Main.php:4561
3374
  msgid "2 digit month slash 4 digit year"
3375
  msgstr ""
3376
 
3377
- #: src/Tribe/Main.php:4562 src/Tribe/Main.php:4563 src/Tribe/Main.php:4564
3378
  msgid "1 digit month hyphen 4 digit year"
3379
  msgstr ""
3380
 
3381
- #: src/Tribe/Main.php:4565
3382
  msgid "2 digit month hyphen 4 digit year"
3383
  msgstr ""
3384
 
3385
- #: src/Tribe/Main.php:4566
3386
  msgid "4 digit year dot 2 digit month"
3387
  msgstr ""
3388
 
3389
- #: src/Tribe/Main.php:4567 src/Tribe/Main.php:4568
3390
  msgid "2 digit month dot 4 digit year"
3391
  msgstr ""
3392
 
3393
- #: src/Tribe/Main.php:4597 src/Tribe/Main.php:4634
3394
  #: src/admin-views/aggregator/origins/refine.php:7
3395
  msgid "Date"
3396
  msgstr ""
3397
 
3398
- #: src/Tribe/Main.php:4599
3399
  msgid "Search for %s by Date. Please use the format %s."
3400
  msgstr ""
3401
 
3402
- #: src/Tribe/Main.php:4612
3403
  msgid "%s In"
3404
  msgstr ""
3405
 
3406
- #: src/Tribe/Main.php:4614
3407
  msgid "Search for %s by month. Please use the format %s."
3408
  msgstr ""
3409
 
3410
- #: src/Tribe/Main.php:4617
3411
  msgid "%s From"
3412
  msgstr ""
3413
 
3414
- #: src/Tribe/Main.php:4620
3415
  msgid "Day Of"
3416
  msgstr ""
3417
 
3418
- #: src/Tribe/Main.php:4700
3419
  msgid "Once Every 30 Mins"
3420
  msgstr ""
3421
 
3422
- #: src/Tribe/Main.php:5438
3423
  msgid ""
3424
  "Your version of The Events Calendar is not up-to-date with one of your The "
3425
  "Events Calendar add-ons. Please %supdate now.%s"
3426
  msgstr ""
3427
 
3428
- #: src/Tribe/Main.php:5451
3429
  msgid ""
3430
  "The following plugins are out of date: %1$s. All add-ons contain "
3431
  "dependencies on The Events Calendar and will not function properly unless "
3432
  "paired with the right version. %2$sLearn More%3$s."
3433
  msgstr ""
3434
 
3435
- #: src/Tribe/Main.php:5490 src/Tribe/Main.php:5547
3436
  msgid "Use Saved %s:"
3437
  msgstr ""
3438
 
@@ -5156,38 +5184,38 @@ msgstr ""
5156
  msgid "Custom Color"
5157
  msgstr ""
5158
 
5159
- #: src/Tribe/Views/V2/Hooks.php:547
5160
  msgid "We recommend a 16:9 aspect ratio for featured images."
5161
  msgstr ""
5162
 
5163
- #: src/Tribe/Views/V2/Hooks.php:624
5164
  msgid "Recommended for all sites using the updated calendar views."
5165
  msgstr ""
5166
 
5167
- #: src/Tribe/Views/V2/Hooks.php:639
5168
  msgid "The Events Calendar - View V2"
5169
  msgstr ""
5170
 
5171
- #: src/Tribe/Views/V2/Hooks.php:920
5172
  msgctxt "Capitalized label for the event website link."
5173
  msgid "View %s Website"
5174
  msgstr ""
5175
 
5176
- #: src/Tribe/Views/V2/Hooks.php:948
5177
  msgctxt "Capitalized label for the venue website link."
5178
  msgid "View %s Website"
5179
  msgstr ""
5180
 
5181
- #: src/Tribe/Views/V2/Hooks.php:976
5182
  msgctxt "Capitalized label for the organizer website link."
5183
  msgid "View %s Website"
5184
  msgstr ""
5185
 
5186
- #: src/Tribe/Views/V2/Hooks.php:1114
5187
  msgid "Enabled"
5188
  msgstr ""
5189
 
5190
- #: src/Tribe/Views/V2/Hooks.php:1114
5191
  #: src/admin-views/tribe-options-general.php:182
5192
  #: src/admin-views/tribe-options-general.php:200
5193
  msgid "Disabled"
@@ -5267,7 +5295,7 @@ msgctxt "day_view"
5267
  msgid "%1$s for %2$s"
5268
  msgstr ""
5269
 
5270
- #: src/Tribe/Views/V2/View.php:1998 src/views/v2/day/event/date/featured.php:27
5271
  #: src/views/v2/day/event/date/featured.php:32
5272
  #: src/views/v2/latest-past/event/date/featured.php:27
5273
  #: src/views/v2/latest-past/event/date/featured.php:32
@@ -5316,7 +5344,7 @@ msgid "Upcoming"
5316
  msgstr ""
5317
 
5318
  #. translators: 1: opening href tag 2: event label plural 3: closing href tag
5319
- #: src/Tribe/Views/V2/Views/Traits/With_Fast_Forward_Link.php:75
5320
  msgid "Jump to the %1$snext upcoming %2$s%3$s."
5321
  msgstr ""
5322
 
@@ -5378,12 +5406,6 @@ msgctxt "The label for the option to enable JSON-LD in the List Widget."
5378
  msgid "Generate JSON-LD data"
5379
  msgstr ""
5380
 
5381
- #: src/Tribe/Views/V2/iCalendar/Links/Google_Calendar.php:230
5382
- msgctxt ""
5383
- "Link to full description. %1$s: pre=translated event term. %2$s: event url."
5384
- msgid " (View Full %1$s Description Here: %2$s)"
5385
- msgstr ""
5386
-
5387
  #: src/Tribe/Views/V2/iCalendar/Links/iCalendar_Export.php:31
5388
  msgid "Export .ics file"
5389
  msgstr ""
@@ -5465,8 +5487,8 @@ msgid "Community Events"
5465
  msgstr ""
5466
 
5467
  #: src/admin-views/admin-update-message.php:65
5468
- #: src/admin-views/aggregator/settings.php:717
5469
- #: src/admin-views/aggregator/settings.php:757
5470
  msgid "Imports"
5471
  msgstr ""
5472
 
@@ -6049,32 +6071,32 @@ msgid ""
6049
  "Event Aggregator will attempt to import events at that location."
6050
  msgstr ""
6051
 
6052
- #: src/admin-views/aggregator/settings.php:7
6053
  msgid "Use global import settings"
6054
  msgstr ""
6055
 
6056
- #: src/admin-views/aggregator/settings.php:17
6057
  msgid "No default category"
6058
  msgstr ""
6059
 
6060
- #: src/admin-views/aggregator/settings.php:26
6061
  msgid "None"
6062
  msgstr ""
6063
 
6064
- #: src/admin-views/aggregator/settings.php:38
6065
  msgid "No"
6066
  msgstr ""
6067
 
6068
- #: src/admin-views/aggregator/settings.php:39
6069
  msgid "Yes"
6070
  msgstr ""
6071
 
6072
- #: src/admin-views/aggregator/settings.php:47
6073
- #: src/admin-views/aggregator/settings.php:57
6074
  msgid "Event Update Authority"
6075
  msgstr ""
6076
 
6077
- #: src/admin-views/aggregator/settings.php:52
6078
  msgid ""
6079
  "You can make changes to imported events via The Events Calendar and see "
6080
  "those changes reflected on your site’s calendar. The owner of the original "
@@ -6084,224 +6106,224 @@ msgid ""
6084
  "your calendar will need to be addressed."
6085
  msgstr ""
6086
 
6087
- #: src/admin-views/aggregator/settings.php:62
6088
  msgid "Overwrite my event with any changes from the original source."
6089
  msgstr ""
6090
 
6091
- #: src/admin-views/aggregator/settings.php:63
6092
  msgid "Do not re-import events. Changes made locally will be preserved."
6093
  msgstr ""
6094
 
6095
- #: src/admin-views/aggregator/settings.php:64
6096
  msgid "Import events but preserve local changes to event fields."
6097
  msgstr ""
6098
 
6099
- #: src/admin-views/aggregator/settings.php:73
6100
  #: src/deprecated/Tribe__Events__Importer__Admin_Page.php:89
6101
  msgid "CSV Import Settings"
6102
  msgstr ""
6103
 
6104
- #: src/admin-views/aggregator/settings.php:78
6105
- #: src/admin-views/aggregator/settings.php:140
6106
- #: src/admin-views/aggregator/settings.php:248
6107
- #: src/admin-views/aggregator/settings.php:292
6108
- #: src/admin-views/aggregator/settings.php:336
6109
- #: src/admin-views/aggregator/settings.php:392
6110
- #: src/admin-views/aggregator/settings.php:436
6111
- #: src/admin-views/aggregator/settings.php:515
6112
  msgid "Default Status"
6113
  msgstr ""
6114
 
6115
- #: src/admin-views/aggregator/settings.php:79
6116
  msgid "The default post status for events imported via CSV"
6117
  msgstr ""
6118
 
6119
- #: src/admin-views/aggregator/settings.php:90
6120
- #: src/admin-views/aggregator/settings.php:152
6121
- #: src/admin-views/aggregator/settings.php:260
6122
- #: src/admin-views/aggregator/settings.php:304
6123
- #: src/admin-views/aggregator/settings.php:348
6124
- #: src/admin-views/aggregator/settings.php:404
6125
- #: src/admin-views/aggregator/settings.php:448
6126
- #: src/admin-views/aggregator/settings.php:527
6127
  msgid "Default Event Category"
6128
  msgstr ""
6129
 
6130
- #: src/admin-views/aggregator/settings.php:91
6131
  msgid "The default event category for events imported via CSV"
6132
  msgstr ""
6133
 
6134
- #: src/admin-views/aggregator/settings.php:105
6135
  msgid "Event Aggregator Control"
6136
  msgstr ""
6137
 
6138
- #: src/admin-views/aggregator/settings.php:110
6139
  msgid "Disable Event Aggregator imports"
6140
  msgstr ""
6141
 
6142
- #: src/admin-views/aggregator/settings.php:111
6143
  msgid ""
6144
  "Stop all Event Aggregator imports from running. Existing imported events "
6145
  "will not be affected. Imports via CSV file will still be available."
6146
  msgstr ""
6147
 
6148
- #: src/admin-views/aggregator/settings.php:124
6149
  msgid ""
6150
  "If you want to stop and clear current asynchronous import processes %1$s."
6151
  msgstr ""
6152
 
6153
- #: src/admin-views/aggregator/settings.php:128
6154
  msgid "click here"
6155
  msgstr ""
6156
 
6157
- #: src/admin-views/aggregator/settings.php:135
6158
  msgid "Global Import Settings"
6159
  msgstr ""
6160
 
6161
- #: src/admin-views/aggregator/settings.php:141
6162
  msgid "The default post status for events"
6163
  msgstr ""
6164
 
6165
- #: src/admin-views/aggregator/settings.php:153
6166
  msgid "The default event category for events"
6167
  msgstr ""
6168
 
6169
- #: src/admin-views/aggregator/settings.php:164
6170
- #: src/admin-views/aggregator/settings.php:272
6171
- #: src/admin-views/aggregator/settings.php:316
6172
- #: src/admin-views/aggregator/settings.php:360
6173
- #: src/admin-views/aggregator/settings.php:416
6174
- #: src/admin-views/aggregator/settings.php:460
6175
- #: src/admin-views/aggregator/settings.php:539
6176
  msgid "Show Map"
6177
  msgstr ""
6178
 
6179
- #: src/admin-views/aggregator/settings.php:165
6180
- #: src/admin-views/aggregator/settings.php:273
6181
- #: src/admin-views/aggregator/settings.php:317
6182
- #: src/admin-views/aggregator/settings.php:361
6183
- #: src/admin-views/aggregator/settings.php:417
6184
- #: src/admin-views/aggregator/settings.php:461
6185
- #: src/admin-views/aggregator/settings.php:540
6186
  msgid "Show map by default on imported event and venues"
6187
  msgstr ""
6188
 
6189
- #: src/admin-views/aggregator/settings.php:176
6190
  msgid "Import Limit Type"
6191
  msgstr ""
6192
 
6193
- #: src/admin-views/aggregator/settings.php:177
6194
  msgid ""
6195
  "Limit the number of imported events by number, date range, or not at all; on "
6196
  "slower websites this may impact the success of imports. Selecting a shorter "
6197
  "time period or a smaller number of events may improve results."
6198
  msgstr ""
6199
 
6200
- #: src/admin-views/aggregator/settings.php:188
6201
- #: src/admin-views/aggregator/settings.php:472
6202
  msgid "Import Date Range Limit"
6203
  msgstr ""
6204
 
6205
- #: src/admin-views/aggregator/settings.php:189
6206
  msgid ""
6207
  "When importing from an event source, this is how far into the future the "
6208
  "events will be fetched; on slower websites a larger date range may impact "
6209
  "the success of imports. Selecting a shorter time period may improve results."
6210
  msgstr ""
6211
 
6212
- #: src/admin-views/aggregator/settings.php:205
6213
  msgid "Import Quantity Limit"
6214
  msgstr ""
6215
 
6216
- #: src/admin-views/aggregator/settings.php:206
6217
  msgid ""
6218
  "When importing from an event source, this is the maximum number of events "
6219
  "that will be imported; on slower websites this may impact the success of "
6220
  "imports. Setting this to a smaller number may improve results."
6221
  msgstr ""
6222
 
6223
- #: src/admin-views/aggregator/settings.php:222
6224
  msgid "Import Process System"
6225
  msgstr ""
6226
 
6227
- #: src/admin-views/aggregator/settings.php:223
6228
  msgid ""
6229
  "The Asynchronous import process is faster and does not rely on WordPress "
6230
  "Cron but might not work correctly in all WordPress installations, try "
6231
  "switching to the Cron-based process for maximum compatibility."
6232
  msgstr ""
6233
 
6234
- #: src/admin-views/aggregator/settings.php:234
6235
  msgid "Stop current processes"
6236
  msgstr ""
6237
 
6238
- #: src/admin-views/aggregator/settings.php:243
6239
  msgid "iCalendar Import Settings"
6240
  msgstr ""
6241
 
6242
- #: src/admin-views/aggregator/settings.php:249
6243
  msgid "The default post status for events imported via iCalendar"
6244
  msgstr ""
6245
 
6246
- #: src/admin-views/aggregator/settings.php:261
6247
  msgid "The default event category for events imported via iCalendar"
6248
  msgstr ""
6249
 
6250
- #: src/admin-views/aggregator/settings.php:287
6251
  msgid "ICS File Import Settings"
6252
  msgstr ""
6253
 
6254
- #: src/admin-views/aggregator/settings.php:293
6255
  msgid "The default post status for events imported via .ics files"
6256
  msgstr ""
6257
 
6258
- #: src/admin-views/aggregator/settings.php:305
6259
  msgid "The default event category for events imported via .ics files"
6260
  msgstr ""
6261
 
6262
- #: src/admin-views/aggregator/settings.php:331
6263
  msgid "Google Calendar Import Settings"
6264
  msgstr ""
6265
 
6266
- #: src/admin-views/aggregator/settings.php:337
6267
  msgid "The default post status for events imported via Google Calendar"
6268
  msgstr ""
6269
 
6270
- #: src/admin-views/aggregator/settings.php:349
6271
  msgid "The default event category for events imported via Google Calendar"
6272
  msgstr ""
6273
 
6274
- #: src/admin-views/aggregator/settings.php:375
6275
  msgid "Meetup Import Settings"
6276
  msgstr ""
6277
 
6278
- #: src/admin-views/aggregator/settings.php:381
6279
  msgid ""
6280
  "To import Meetup events, please be sure to add your Meetup API key on "
6281
  "%1$sEvents > Settings > Integrations%2$s"
6282
  msgstr ""
6283
 
6284
- #: src/admin-views/aggregator/settings.php:393
6285
  msgid "The default post status for events imported via Meetup"
6286
  msgstr ""
6287
 
6288
- #: src/admin-views/aggregator/settings.php:405
6289
  msgid "The default event category for events imported via Meetup"
6290
  msgstr ""
6291
 
6292
- #: src/admin-views/aggregator/settings.php:431
6293
  msgid "Other URL Import Settings"
6294
  msgstr ""
6295
 
6296
- #: src/admin-views/aggregator/settings.php:437
6297
  msgid "The default post status for events imported via other URLs"
6298
  msgstr ""
6299
 
6300
- #: src/admin-views/aggregator/settings.php:449
6301
  msgid "The default event category for events imported via other URLs"
6302
  msgstr ""
6303
 
6304
- #: src/admin-views/aggregator/settings.php:473
6305
  msgid ""
6306
  "When importing from a website that uses The Events Calendar, the REST API "
6307
  "will attempt to fetch events this far in the future. That website's hosting "
@@ -6309,47 +6331,47 @@ msgid ""
6309
  "may improve results."
6310
  msgstr ""
6311
 
6312
- #: src/admin-views/aggregator/settings.php:484
6313
  msgid "Import Event Settings"
6314
  msgstr ""
6315
 
6316
- #: src/admin-views/aggregator/settings.php:485
6317
  msgid ""
6318
  "Fetch source event's settings (e.g. Show Maps Link or Sticky in Month View) "
6319
  "when importing from another site using The Events Calendar."
6320
  msgstr ""
6321
 
6322
- #: src/admin-views/aggregator/settings.php:497
6323
  #: src/admin-views/aggregator/tabs/import-form.php:16
6324
  #: src/admin-views/aggregator/tabs/import-form.php:256
6325
  msgid "(do not override)"
6326
  msgstr ""
6327
 
6328
- #: src/admin-views/aggregator/settings.php:510
6329
  msgid "Eventbrite Import Settings"
6330
  msgstr ""
6331
 
6332
- #: src/admin-views/aggregator/settings.php:516
6333
  msgid "The default post status for events imported via Eventbrite"
6334
  msgstr ""
6335
 
6336
- #: src/admin-views/aggregator/settings.php:528
6337
  msgid "The default event category for events imported via Eventbrite"
6338
  msgstr ""
6339
 
6340
- #: src/admin-views/aggregator/settings.php:601
6341
  msgid "Update Authority"
6342
  msgstr ""
6343
 
6344
- #: src/admin-views/aggregator/settings.php:605
6345
  msgid "Global"
6346
  msgstr ""
6347
 
6348
- #: src/admin-views/aggregator/settings.php:629
6349
  msgid "Other URLs"
6350
  msgstr ""
6351
 
6352
- #: src/admin-views/aggregator/settings.php:679
6353
  msgid ""
6354
  "Use the options below to configure your imports. Global Import Settings "
6355
  "apply to all imports, but you can also override the global settings by "
@@ -6357,17 +6379,17 @@ msgid ""
6357
  "Status on the %1$s."
6358
  msgstr ""
6359
 
6360
- #: src/admin-views/aggregator/settings.php:683
6361
  msgid "Help page"
6362
  msgstr ""
6363
 
6364
- #: src/admin-views/aggregator/settings.php:703
6365
  msgid ""
6366
  "Use the options below to configure your imports. Looking for more ways to "
6367
  "import events from other websites?"
6368
  msgstr ""
6369
 
6370
- #: src/admin-views/aggregator/settings.php:704
6371
  msgid "Check out Event Aggregator."
6372
  msgstr ""
6373
 
@@ -7095,11 +7117,49 @@ msgid ""
7095
  "to third-party APIs and manage your integrations."
7096
  msgstr ""
7097
 
7098
- #: src/admin-views/tribe-options-display.php:43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7099
  msgid "Display Settings"
7100
  msgstr ""
7101
 
7102
- #: src/admin-views/tribe-options-display.php:48
7103
  msgid ""
7104
  "The settings below control the display of your calendar. If things don't "
7105
  "look right, try switching between the three style sheet options or pick a "
@@ -7108,191 +7168,153 @@ msgstr ""
7108
 
7109
  #. translators: %s: URL to knowledgebase. Please also use &#37; for % to avoid
7110
  #. PHP warnings.
7111
- #: src/admin-views/tribe-options-display.php:52
7112
  msgid ""
7113
  "There are going to be situations where no out-of-the-box template is "
7114
  "100&#37; perfect. Check out our <a href=\"%s\">our themer's guide</a> for "
7115
  "instructions on custom modifications."
7116
  msgstr ""
7117
 
7118
- #: src/admin-views/tribe-options-display.php:71
7119
  msgid "Date with year"
7120
  msgstr ""
7121
 
7122
- #: src/admin-views/tribe-options-display.php:72
7123
  msgid ""
7124
  "Enter the format to use for displaying dates with the year. Used when "
7125
  "displaying a date in a future year."
7126
  msgstr ""
7127
 
7128
- #: src/admin-views/tribe-options-display.php:79
7129
  msgid "Date time separator"
7130
  msgstr ""
7131
 
7132
- #: src/admin-views/tribe-options-display.php:80
7133
  msgid ""
7134
  "Enter the separator that will be placed between the date and time, when both "
7135
  "are shown."
7136
  msgstr ""
7137
 
7138
- #: src/admin-views/tribe-options-display.php:95
7139
  msgid "Date without year"
7140
  msgstr ""
7141
 
7142
- #: src/admin-views/tribe-options-display.php:96
7143
  msgid ""
7144
  "Enter the format to use for displaying dates without a year. Used when "
7145
  "showing an event from the current year."
7146
  msgstr ""
7147
 
7148
- #: src/admin-views/tribe-options-display.php:103
7149
  msgid "Month and year format"
7150
  msgstr ""
7151
 
7152
- #: src/admin-views/tribe-options-display.php:104
7153
  msgid ""
7154
  "Enter the format to use for dates that show a month and year only. Used on "
7155
  "month view."
7156
  msgstr ""
7157
 
7158
- #: src/admin-views/tribe-options-display.php:119
7159
  msgid "Time range separator"
7160
  msgstr ""
7161
 
7162
- #: src/admin-views/tribe-options-display.php:120
7163
  msgid ""
7164
  "Enter the separator that will be used between the start and end time of an "
7165
  "event."
7166
  msgstr ""
7167
 
7168
- #: src/admin-views/tribe-options-display.php:129
7169
  msgid "You must select at least one view."
7170
  msgstr ""
7171
 
7172
- #: src/admin-views/tribe-options-display.php:133
7173
  msgid ""
7174
  "Please note that you are using The Events Calendar's default Google Maps API "
7175
  "key, which will limit the Map View's functionality. Visit %sthe API Settings "
7176
  "page%s to learn more and add your own Google Maps API key."
7177
  msgstr ""
7178
 
7179
- #: src/admin-views/tribe-options-display.php:140
7180
- msgid "Skeleton Styles"
7181
- msgstr ""
7182
-
7183
- #: src/admin-views/tribe-options-display.php:142
7184
- msgid ""
7185
- "Only includes enough css to achieve complex layouts like calendar and week "
7186
- "view."
7187
- msgstr ""
7188
-
7189
- #: src/admin-views/tribe-options-display.php:147
7190
- msgid "Tribe Events Styles"
7191
- msgstr ""
7192
-
7193
- #: src/admin-views/tribe-options-display.php:149
7194
- msgid "A fully designed and styled theme for your events pages."
7195
- msgstr ""
7196
-
7197
- #: src/admin-views/tribe-options-display.php:159
7198
- msgid "Full Styles"
7199
- msgstr ""
7200
-
7201
- #: src/admin-views/tribe-options-display.php:161
7202
- msgid "More detailed styling, tries to grab styles from your theme."
7203
- msgstr ""
7204
-
7205
- #: src/admin-views/tribe-options-display.php:170
7206
- msgid "Default stylesheet used for events templates"
7207
- msgstr ""
7208
-
7209
- #: src/admin-views/tribe-options-display.php:187
7210
  msgid "Basic Template Settings"
7211
  msgstr ""
7212
 
7213
- #: src/admin-views/tribe-options-display.php:196
7214
- msgid "Default Events Template"
7215
- msgstr ""
7216
-
7217
- #: src/admin-views/tribe-options-display.php:197
7218
- msgid "Default Page Template"
7219
- msgstr ""
7220
-
7221
- #: src/admin-views/tribe-options-display.php:207
7222
  msgid "Events template"
7223
  msgstr ""
7224
 
7225
- #: src/admin-views/tribe-options-display.php:208
7226
  msgid ""
7227
  "Choose a page template to control the appearance of your calendar and event "
7228
  "content."
7229
  msgstr ""
7230
 
7231
- #: src/admin-views/tribe-options-display.php:218
7232
  msgid "Enable event views"
7233
  msgstr ""
7234
 
7235
- #: src/admin-views/tribe-options-display.php:238
7236
  msgid "Use updated calendar designs"
7237
  msgstr ""
7238
 
7239
- #: src/admin-views/tribe-options-display.php:239
7240
  msgid "Enable updated designs for all calendar views"
7241
  msgstr ""
7242
 
7243
- #: src/admin-views/tribe-options-display.php:253
7244
  msgid "Default view"
7245
  msgstr ""
7246
 
7247
- #: src/admin-views/tribe-options-display.php:261
7248
  msgid "Disable the Event Search Bar"
7249
  msgstr ""
7250
 
7251
- #: src/admin-views/tribe-options-display.php:262
7252
  msgid "Check this to use the classic header."
7253
  msgstr ""
7254
 
7255
- #: src/admin-views/tribe-options-display.php:268
7256
  msgid "Month view events per day"
7257
  msgstr ""
7258
 
7259
- #: src/admin-views/tribe-options-display.php:269
7260
  msgid ""
7261
  "Change the default 3 events per day in month view. To impose no limit, you "
7262
  "may specify -1. Please note there may be performance issues if you allow too "
7263
  "many events per day. <a href=\"%s\">Read more</a>."
7264
  msgstr ""
7265
 
7266
- #: src/admin-views/tribe-options-display.php:276
7267
  msgid "Enable the Month View Cache"
7268
  msgstr ""
7269
 
7270
- #: src/admin-views/tribe-options-display.php:277
7271
  msgid ""
7272
  "Check this to cache your month view HTML in transients, which can help "
7273
  "improve calendar speed on sites with many events. <a href=\"%s\">Read more</"
7274
  "a>."
7275
  msgstr ""
7276
 
7277
- #: src/admin-views/tribe-options-display.php:290
7278
  msgid "Advanced Template Settings"
7279
  msgstr ""
7280
 
7281
- #: src/admin-views/tribe-options-display.php:294
7282
  msgid "Add HTML before event content"
7283
  msgstr ""
7284
 
7285
- #: src/admin-views/tribe-options-display.php:295
7286
  msgid ""
7287
  "If you are familiar with HTML, you can add additional code before the event "
7288
  "template. Some themes may require this to help with styling or layout."
7289
  msgstr ""
7290
 
7291
- #: src/admin-views/tribe-options-display.php:300
7292
  msgid "Add HTML after event content"
7293
  msgstr ""
7294
 
7295
- #: src/admin-views/tribe-options-display.php:301
7296
  msgid ""
7297
  "If you are familiar with HTML, you can add additional code after the event "
7298
  "template. Some themes may require this to help with styling or layout."
@@ -7580,6 +7602,20 @@ msgid ""
7580
  "the Display settings tab."
7581
  msgstr ""
7582
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7583
  #: src/admin-views/tribe-options-timezones.php:7
7584
  msgid "Enable Time Zone support"
7585
  msgstr ""
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.15.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
7
  "calendar\n"
8
+ "POT-Creation-Date: 2022-05-17 19:31:54+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: 2022-05-17 19:31\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."
44
  msgstr ""
45
 
46
+ #: src/Tribe/Admin/Bar/Default_Configurator.php:20
47
  msgid "%s"
48
  msgstr ""
49
 
50
+ #: src/Tribe/Admin/Bar/Default_Configurator.php:47 src/Tribe/Main.php:4434
51
  #: src/Tribe/Views/V2/Views/Widgets/Widget_View.php:61
52
  #: src/admin-views/tribe-options-upgrade.php:20
53
  msgid "View Calendar"
54
  msgstr ""
55
 
56
+ #: src/Tribe/Admin/Bar/Default_Configurator.php:55
57
  msgid "Add %s"
58
  msgstr ""
59
 
60
+ #: src/Tribe/Admin/Bar/Default_Configurator.php:64
61
+ #: src/Tribe/Linked_Posts/Chooser_Meta_Box.php:210 src/Tribe/Main.php:2204
62
+ #: src/Tribe/Main.php:5542 src/Tribe/Main.php:5589 src/Tribe/Organizer.php:93
63
  #: src/Tribe/Venue.php:129
64
  msgid "Edit %s"
65
  msgstr ""
66
 
67
+ #: src/Tribe/Admin/Bar/Default_Configurator.php:75
68
  #: src/Tribe/Aggregator/Page.php:327
69
  #: src/admin-views/aggregator/tabs/import-form.php:305
70
  msgid "Import"
71
  msgstr ""
72
 
73
+ #: src/Tribe/Admin/Bar/Default_Configurator.php:91
74
+ #: src/Tribe/Admin/Settings.php:166 src/Tribe/Main.php:4482
75
  msgid "Settings"
76
  msgstr ""
77
 
78
+ #: src/Tribe/Admin/Bar/Default_Configurator.php:106
79
+ #: src/Tribe/Admin/Settings.php:179
80
  msgid "Help"
81
  msgstr ""
82
 
83
+ #: src/Tribe/Admin/Filter_Bar/Provider.php:138
84
  #: src/admin-views/admin-update-message.php:64
85
  msgid "Filters"
86
  msgstr ""
143
  "problems when importing events or with Daylight Saving Time. %1$s"
144
  msgstr ""
145
 
146
+ #. Translators: %s is the `Events` in plural.
147
+ #: src/Tribe/Admin/Settings.php:90
148
+ msgid "%s Settings"
149
+ msgstr ""
150
+
151
+ #: src/Tribe/Admin/Settings.php:209
152
+ msgid "Event Settings"
153
+ msgstr ""
154
+
155
+ #: src/Tribe/Admin/Settings.php:238
156
+ msgid "Troubleshooting"
157
+ msgstr ""
158
+
159
+ #: src/Tribe/Admin/Settings.php:267
160
+ msgid "Event Add-Ons"
161
+ msgstr ""
162
+
163
+ #: src/Tribe/Admin/Settings.php:387
164
+ #: src/Tribe/Customizer/Global_Elements.php:133
165
+ msgid "General"
166
+ msgstr ""
167
+
168
+ #: src/Tribe/Admin/Settings.php:388
169
+ msgid "Display"
170
+ msgstr ""
171
+
172
+ #: src/Tribe/Admin/Settings.php:405
173
+ msgid "Network"
174
+ msgstr ""
175
+
176
+ #. Translators: %1$s: Opening `<a>` to The Events Calendar rating page. %2$s:
177
+ #. Closing `</a>` tag. %3$s: Five stars.
178
+ #: src/Tribe/Admin/Settings.php:425
179
+ msgid "Rate %1$sThe Events Calendar%2$s %3$s"
180
+ msgstr ""
181
+
182
  #: src/Tribe/Admin/Timezone_Updater.php:77
183
  msgid "Please wait while time zone data is added to your events."
184
  msgstr ""
201
  "refresh and try again."
202
  msgstr ""
203
 
204
+ #: src/Tribe/Admin_List.php:299 src/Tribe/Main.php:2256
205
  msgid "%s Categories"
206
  msgstr ""
207
 
229
 
230
  #: src/Tribe/Aggregator/API/Origins.php:41
231
  #: src/Tribe/Aggregator/Record/Eventbrite.php:88
232
+ #: src/admin-views/aggregator/settings.php:635
233
  #: src/admin-views/aggregator/status.php:183
234
  #: src/admin-views/tribe-options-addons-api.php:97
235
  msgid "Eventbrite"
238
  #: src/Tribe/Aggregator/API/Origins.php:47
239
  #: src/Tribe/Aggregator/Record/gCal.php:14
240
  #: src/Tribe/Views/V2/iCalendar/Links/Google_Calendar.php:35
241
+ #: src/Tribe/iCal.php:132 src/admin-views/aggregator/settings.php:623
242
  msgid "Google Calendar"
243
  msgstr ""
244
 
245
  #: src/Tribe/Aggregator/API/Origins.php:53
246
  #: src/Tribe/Aggregator/Record/iCal.php:14
247
  #: src/Tribe/Views/V2/iCalendar/Links/iCal.php:29
248
+ #: src/admin-views/aggregator/settings.php:615
249
  msgid "iCalendar"
250
  msgstr ""
251
 
252
  #: src/Tribe/Aggregator/API/Origins.php:59
253
+ #: src/admin-views/aggregator/settings.php:619
254
  msgid "ICS File"
255
  msgstr ""
256
 
257
  #: src/Tribe/Aggregator/API/Origins.php:65
258
  #: src/Tribe/Aggregator/Record/Meetup.php:40
259
+ #: src/admin-views/aggregator/settings.php:627
260
  #: src/admin-views/aggregator/status.php:210
261
  #: src/admin-views/tribe-options-addons-api.php:45
262
  msgid "Meetup"
267
  msgid "Other URL"
268
  msgstr ""
269
 
270
+ #: src/Tribe/Aggregator/API/Origins.php:227 src/Tribe/Aggregator.php:230
271
  msgid "Event Aggregator"
272
  msgstr ""
273
 
440
  "queue was processed. Please try again."
441
  msgstr ""
442
 
443
+ #: src/Tribe/Aggregator/Meta_Box.php:40
444
  msgid "Imported Event"
445
  msgstr ""
446
 
702
  msgstr ""
703
 
704
  #: src/Tribe/Aggregator/Record/CSV.php:79
705
+ #: src/admin-views/aggregator/settings.php:611
706
  #: src/deprecated/Tribe__Events__Importer__Admin_Page.php:240
707
  msgid "CSV"
708
  msgstr ""
851
  msgid "Unknown"
852
  msgstr ""
853
 
854
+ #: src/Tribe/Aggregator/Record/List_Table.php:618 src/Tribe/Aggregator.php:605
855
  #: src/Tribe/Ignored_Events.php:376
856
  msgctxt "human readable time ago"
857
  msgid "about %s ago"
858
  msgstr ""
859
 
860
+ #: src/Tribe/Aggregator/Record/List_Table.php:620 src/Tribe/Aggregator.php:607
861
  #: src/Tribe/Ignored_Events.php:378
862
  msgctxt "in human readable time"
863
  msgid "in about %s"
1397
  msgid "Unknown service message"
1398
  msgstr ""
1399
 
1400
+ #: src/Tribe/Aggregator/Settings.php:535
1401
  msgid "By date range"
1402
  msgstr ""
1403
 
1404
+ #: src/Tribe/Aggregator/Settings.php:536
1405
  msgid "By number of events"
1406
  msgstr ""
1407
 
1408
+ #: src/Tribe/Aggregator/Settings.php:537
1409
  msgid "Do not limit (not recommended)"
1410
  msgstr ""
1411
 
1412
+ #: src/Tribe/Aggregator/Settings.php:564 src/Tribe/Aggregator/Settings.php:565
1413
  msgid "24 hours"
1414
  msgstr ""
1415
 
1416
+ #: src/Tribe/Aggregator/Settings.php:568 src/Tribe/Aggregator/Settings.php:569
1417
  msgid "72 hours"
1418
  msgstr ""
1419
 
1420
+ #: src/Tribe/Aggregator/Settings.php:572
1421
  msgid "One week"
1422
  msgstr ""
1423
 
1424
+ #: src/Tribe/Aggregator/Settings.php:573
1425
  msgid "one week"
1426
  msgstr ""
1427
 
1428
+ #: src/Tribe/Aggregator/Settings.php:576
1429
  msgid "Two weeks"
1430
  msgstr ""
1431
 
1432
+ #: src/Tribe/Aggregator/Settings.php:577
1433
  msgid "two weeks"
1434
  msgstr ""
1435
 
1436
+ #: src/Tribe/Aggregator/Settings.php:580
1437
  msgid "Three weeks"
1438
  msgstr ""
1439
 
1440
+ #: src/Tribe/Aggregator/Settings.php:581
1441
  msgid "three weeks"
1442
  msgstr ""
1443
 
1444
+ #: src/Tribe/Aggregator/Settings.php:584
1445
  msgid "One month"
1446
  msgstr ""
1447
 
1448
+ #: src/Tribe/Aggregator/Settings.php:585
1449
  msgid "one month"
1450
  msgstr ""
1451
 
1452
+ #: src/Tribe/Aggregator/Settings.php:588
1453
  msgid "Two months"
1454
  msgstr ""
1455
 
1456
+ #: src/Tribe/Aggregator/Settings.php:589
1457
  msgid "two months"
1458
  msgstr ""
1459
 
1460
+ #: src/Tribe/Aggregator/Settings.php:592
1461
  msgid "Three months"
1462
  msgstr ""
1463
 
1464
+ #: src/Tribe/Aggregator/Settings.php:593
1465
  msgid "three months"
1466
  msgstr ""
1467
 
1468
+ #: src/Tribe/Aggregator/Settings.php:877
1469
  msgid "Asynchronous"
1470
  msgstr ""
1471
 
1472
+ #: src/Tribe/Aggregator/Settings.php:881
1473
  msgid "Cron-based"
1474
  msgstr ""
1475
 
1522
  msgstr ""
1523
 
1524
  #: src/Tribe/Aggregator/Tabs/History.php:55
1525
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:59
1526
  msgid "Records per page"
1527
  msgstr ""
1528
 
1530
  msgid "History"
1531
  msgstr ""
1532
 
1533
+ #: src/Tribe/Aggregator/Tabs/New.php:83
1534
  msgid "New Import"
1535
  msgstr ""
1536
 
1537
+ #: src/Tribe/Aggregator/Tabs/New.php:167
1538
  msgid "1 import was scheduled."
1539
  msgstr ""
1540
 
1541
+ #: src/Tribe/Aggregator/Tabs/New.php:254
1542
  msgid "%1$d new %2$s was imported."
1543
  msgid_plural "%1$d new %2$s were imported."
1544
  msgstr[0] ""
1545
  msgstr[1] ""
1546
 
1547
+ #: src/Tribe/Aggregator/Tabs/New.php:266
1548
  msgid "%1$d existing %2$s was updated."
1549
  msgid_plural "%1$d existing %2$s were updated."
1550
  msgstr[0] ""
1551
  msgstr[1] ""
1552
 
1553
+ #: src/Tribe/Aggregator/Tabs/New.php:277
1554
  msgid "%1$d already-imported %2$s was skipped."
1555
  msgid_plural "%1$d already-imported %2$s were skipped."
1556
  msgstr[0] ""
1557
  msgstr[1] ""
1558
 
1559
+ #: src/Tribe/Aggregator/Tabs/New.php:286
1560
  msgid "%1$d new image was imported."
1561
  msgid_plural "%1$d new images were imported."
1562
  msgstr[0] ""
1563
  msgstr[1] ""
1564
 
1565
  #. translators: %1$d is replaced with a number of scheduled images.
1566
+ #: src/Tribe/Aggregator/Tabs/New.php:295
1567
  msgid "%1$d new image was scheduled for import."
1568
  msgid_plural "%1$d new images were scheduled for import."
1569
  msgstr[0] ""
1570
  msgstr[1] ""
1571
 
1572
+ #: src/Tribe/Aggregator/Tabs/New.php:307
1573
  msgid "No %1$s were imported or updated."
1574
  msgstr ""
1575
 
1576
+ #: src/Tribe/Aggregator/Tabs/New.php:315
1577
  msgid "View all %s"
1578
  msgstr ""
1579
 
1580
+ #: src/Tribe/Aggregator/Tabs/New.php:325
1581
  msgid "%1$d new venue was imported."
1582
  msgid_plural "%1$d new venues were imported."
1583
  msgstr[0] ""
1584
  msgstr[1] ""
1585
 
1586
+ #: src/Tribe/Aggregator/Tabs/New.php:329
1587
  msgid "View your event venues"
1588
  msgstr ""
1589
 
1590
+ #: src/Tribe/Aggregator/Tabs/New.php:337
1591
  msgid "%1$d new organizer was imported."
1592
  msgid_plural "%1$d new organizers were imported."
1593
  msgstr[0] ""
1594
  msgstr[1] ""
1595
 
1596
+ #: src/Tribe/Aggregator/Tabs/New.php:341
1597
  msgid "View your event organizers"
1598
  msgstr ""
1599
 
1600
+ #: src/Tribe/Aggregator/Tabs/New.php:350
1601
  msgid "%1$d new event category was created."
1602
  msgid_plural "%1$d new event categories were created."
1603
  msgstr[0] ""
1604
  msgstr[1] ""
1605
 
1606
+ #: src/Tribe/Aggregator/Tabs/New.php:354
1607
  msgid "View your event categories"
1608
  msgstr ""
1609
 
1610
+ #: src/Tribe/Aggregator/Tabs/New.php:362
1611
  msgid "%1$d new event tag was created."
1612
  msgid_plural "%1$d new event tags were created."
1613
  msgstr[0] ""
1614
  msgstr[1] ""
1615
 
1616
+ #: src/Tribe/Aggregator/Tabs/New.php:366
1617
  msgid "View your event tags"
1618
  msgstr ""
1619
 
1620
+ #: src/Tribe/Aggregator/Tabs/New.php:377
1621
  msgid "Import complete!"
1622
  msgstr ""
1623
 
1624
+ #: src/Tribe/Aggregator/Tabs/New.php:379
1625
  msgid "Your scheduled import was saved and the first import is complete!"
1626
  msgstr ""
1627
 
1628
+ #: src/Tribe/Aggregator/Tabs/New.php:383
1629
  msgctxt "separator between date and time"
1630
  msgid " at "
1631
  msgstr ""
1632
 
1633
+ #: src/Tribe/Aggregator/Tabs/New.php:390
1634
  msgid "The next import is scheduled for %1$s."
1635
  msgstr ""
1636
 
1637
+ #: src/Tribe/Aggregator/Tabs/New.php:394
1638
  msgid "View your scheduled imports."
1639
  msgstr ""
1640
 
1641
+ #: src/Tribe/Aggregator/Tabs/New.php:406
1642
  msgid "Invalid credential save request"
1643
  msgstr ""
1644
 
1645
+ #: src/Tribe/Aggregator/Tabs/New.php:416
1646
  msgid "Invalid credential save nonce"
1647
  msgstr ""
1648
 
1649
+ #: src/Tribe/Aggregator/Tabs/New.php:425
1650
  msgid "The Meetup API key is required."
1651
  msgstr ""
1652
 
1653
+ #: src/Tribe/Aggregator/Tabs/New.php:434
1654
  msgid "Credentials have been saved"
1655
  msgstr ""
1656
 
1657
+ #: src/Tribe/Aggregator/Tabs/New.php:441
1658
  msgid "Unable to save credentials"
1659
  msgstr ""
1660
 
1661
+ #: src/Tribe/Aggregator/Tabs/New.php:525
1662
  msgid "Events Aggregator"
1663
  msgstr ""
1664
 
1665
+ #: src/Tribe/Aggregator/Tabs/New.php:528
1666
  msgid "Import events with ease"
1667
  msgstr ""
1668
 
1669
+ #: src/Tribe/Aggregator/Tabs/New.php:530
1670
  msgid ""
1671
  "Effortlessly fill your calendar with events from Meetup, Eventbrite, iCal, "
1672
  "Google Calendar, and more."
1673
  msgstr ""
1674
 
1675
+ #: src/Tribe/Aggregator/Tabs/New.php:533
1676
  msgid "Learn More"
1677
  msgstr ""
1678
 
1679
+ #: src/Tribe/Aggregator/Tabs/New.php:535
1680
  #: src/admin-views/aggregator/banners/eventbrite-upsell.php:19
1681
  msgid "opens in a new window"
1682
  msgstr ""
1683
 
1684
+ #: src/Tribe/Aggregator/Tabs/New.php:584
1685
  msgid "Your Event Aggregator license is expired."
1686
  msgstr ""
1687
 
1688
+ #: src/Tribe/Aggregator/Tabs/New.php:585
1689
  msgid ""
1690
  "Renew your license in order to import events from iCalendar, Google, or "
1691
  "Meetup."
1692
  msgstr ""
1693
 
1694
+ #: src/Tribe/Aggregator/Tabs/New.php:588
1695
  msgid "Renew your Event Aggregator license"
1696
  msgstr ""
1697
 
1698
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:96
1699
  msgid "Scheduled Imports"
1700
  msgstr ""
1701
 
1702
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:183
1703
  msgid "queued"
1704
  msgstr ""
1705
 
1706
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:187
1707
  msgid "delete"
1708
  msgstr ""
1709
 
1710
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:191
1711
  msgid "reactivated"
1712
  msgstr ""
1713
 
1714
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:195
1715
  msgid "deactivated"
1716
  msgstr ""
1717
 
1718
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:248
1719
  msgid "Error: %d scheduled import was not %s."
1720
  msgstr ""
1721
 
1722
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:258
1723
  msgid "Successfully %s %d scheduled import"
1724
  msgstr ""
1725
 
1726
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:373
1727
  msgid ""
1728
  "All scheduled imports are currently suspended, and no events will be "
1729
  "imported."
1730
  msgstr ""
1731
 
1732
+ #. Translators: %1$s: opening link tag, %2$s: closing link tag.
1733
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:380
1734
  msgid ""
1735
  "To continue using scheduled imports, please enter a valid Event Aggregator "
1736
  "license key under %1$sEvents > Settings > Licenses%2$s."
1737
  msgstr ""
1738
 
1739
+ #: src/Tribe/Aggregator/Tabs/Scheduled.php:387
1740
  msgid "Enter Event Aggregator License"
1741
  msgstr ""
1742
 
1743
+ #: src/Tribe/Aggregator.php:96
1744
  msgid "Event Aggregator System Status"
1745
  msgstr ""
1746
 
1747
+ #: src/Tribe/Aggregator.php:355
1748
  msgid "You must use an integer to reduce the daily import limit"
1749
  msgstr ""
1750
 
1751
+ #: src/Tribe/Aggregator.php:567
1752
  msgid "Successfully connected Event Aggregator to Facebook"
1753
  msgstr ""
1754
 
1755
+ #: src/Tribe/Aggregator.php:617
1756
  msgid "Your Event Aggregator Facebook token expired %s."
1757
  msgstr ""
1758
 
1759
+ #: src/Tribe/Aggregator.php:619
1760
  msgid "Your Event Aggregator Facebook token will expire %s."
1761
  msgstr ""
1762
 
1763
+ #: src/Tribe/Aggregator.php:628
1764
  msgid "Renew your Event Aggregator Facebook token"
1765
  msgstr ""
1766
 
1767
+ #: src/Tribe/Amalgamator.php:263 src/admin-views/tribe-options-general.php:172
1768
  msgid "Merge Duplicates"
1769
  msgstr ""
1770
 
2036
  msgid "Custom"
2037
  msgstr ""
2038
 
 
 
 
 
2039
  #: src/Tribe/Customizer/Global_Elements.php:133
2040
  #: src/Tribe/Views/V2/Customizer/Section/Global_Elements.php:122
2041
  msgid "Global Elements"
2179
  #: src/Tribe/Template/Single_Event.php:123
2180
  #: src/Tribe/Views/V2/Template_Bootstrap.php:141
2181
  #: src/Tribe/Views/V2/Template_Bootstrap.php:181
2182
+ #: src/Tribe/Views/V2/Template_Bootstrap.php:502
2183
  msgid "This %s has passed."
2184
  msgstr ""
2185
 
2186
+ #: src/Tribe/Editor.php:286 src/Tribe/Editor.php:329
2187
  msgid "Add Description..."
2188
  msgstr ""
2189
 
2190
+ #: src/Tribe/Editor.php:660 src/Tribe/Editor.php:693
2191
  msgid "Event Blocks"
2192
  msgstr ""
2193
 
2536
  msgstr ""
2537
 
2538
  #: src/Tribe/Importer/Column_Mapper.php:79
 
 
 
 
2539
  msgid "Event Currency Symbol"
2540
  msgstr ""
2541
 
2542
+ #: src/Tribe/Importer/Column_Mapper.php:80
2543
  msgid "Event Currency Position"
2544
  msgstr ""
2545
 
2546
+ #: src/Tribe/Importer/Column_Mapper.php:81
2547
  msgid "Event Category"
2548
  msgstr ""
2549
 
2550
+ #: src/Tribe/Importer/Column_Mapper.php:82
2551
  msgid "Event Tags"
2552
  msgstr ""
2553
 
2554
+ #: src/Tribe/Importer/Column_Mapper.php:83
2555
  msgid "Event Website"
2556
  msgstr ""
2557
 
2558
+ #: src/Tribe/Importer/Column_Mapper.php:84
2559
  msgid "Event Featured Image"
2560
  msgstr ""
2561
 
2562
+ #: src/Tribe/Importer/Column_Mapper.php:85
2563
  msgid "Event Allow Comments"
2564
  msgstr ""
2565
 
2566
+ #: src/Tribe/Importer/Column_Mapper.php:86
2567
  msgid "Event Allow Trackbacks and Pingbacks"
2568
  msgstr ""
2569
 
2570
+ #: src/Tribe/Importer/Column_Mapper.php:99
2571
  msgid "Venue Name"
2572
  msgstr ""
2573
 
2574
+ #: src/Tribe/Importer/Column_Mapper.php:100
2575
  msgid "Venue Description"
2576
  msgstr ""
2577
 
2578
+ #: src/Tribe/Importer/Column_Mapper.php:101
2579
  #: src/admin-views/create-venue-fields.php:120
2580
  msgid "Venue Country"
2581
  msgstr ""
2582
 
2583
+ #: src/Tribe/Importer/Column_Mapper.php:102
2584
  #: src/admin-views/create-venue-fields.php:82
2585
  msgid "Venue Address"
2586
  msgstr ""
2587
 
2588
+ #: src/Tribe/Importer/Column_Mapper.php:103
2589
  msgid "Venue Address 2"
2590
  msgstr ""
2591
 
2592
+ #: src/Tribe/Importer/Column_Mapper.php:104
2593
  #: src/admin-views/create-venue-fields.php:95
2594
  msgid "Venue City"
2595
  msgstr ""
2596
 
2597
+ #: src/Tribe/Importer/Column_Mapper.php:105
2598
  msgid "Venue State/Province"
2599
  msgstr ""
2600
 
2601
+ #: src/Tribe/Importer/Column_Mapper.php:106
2602
  msgid "Venue Zip"
2603
  msgstr ""
2604
 
2605
+ #: src/Tribe/Importer/Column_Mapper.php:107
2606
  #: src/admin-views/create-venue-fields.php:190
2607
  msgid "Venue Phone"
2608
  msgstr ""
2609
 
2610
+ #: src/Tribe/Importer/Column_Mapper.php:108
2611
  msgid "Venue Website"
2612
  msgstr ""
2613
 
2614
+ #: src/Tribe/Importer/Column_Mapper.php:109
2615
  msgid "Venue Featured Image"
2616
  msgstr ""
2617
 
2618
+ #: src/Tribe/Importer/Column_Mapper.php:122
2619
  msgid "Organizer Name"
2620
  msgstr ""
2621
 
2622
+ #: src/Tribe/Importer/Column_Mapper.php:123
2623
  msgid "Organizer Description"
2624
  msgstr ""
2625
 
2626
+ #: src/Tribe/Importer/Column_Mapper.php:124
2627
  msgid "Organizer Email"
2628
  msgstr ""
2629
 
2630
+ #: src/Tribe/Importer/Column_Mapper.php:125
2631
  msgid "Organizer Website"
2632
  msgstr ""
2633
 
2634
+ #: src/Tribe/Importer/Column_Mapper.php:126
2635
  msgid "Organizer Phone"
2636
  msgstr ""
2637
 
2638
+ #: src/Tribe/Importer/Column_Mapper.php:127
2639
  msgid "Organizer Featured Image"
2640
  msgstr ""
2641
 
2667
  msgid "Could not save %s."
2668
  msgstr ""
2669
 
2670
+ #: src/Tribe/Integrations/Freemius.php:346
2671
  msgid "We hope you love %1$s"
2672
  msgstr ""
2673
 
2674
+ #: src/Tribe/Integrations/Freemius.php:351
2675
  msgid ""
2676
  "Hi, %1$s! This is an invitation to help our %2$s community. If you opt-in, "
2677
  "some data about your usage of %2$s will be shared with our teams (so they "
2679
  "on events management, WordPress, and our products from time to time."
2680
  msgstr ""
2681
 
2682
+ #: src/Tribe/Integrations/Freemius.php:355
2683
  msgid "And if you skip this, that's okay! %1$s will still work just fine."
2684
  msgstr ""
2685
 
2686
+ #: src/Tribe/Integrations/Freemius.php:359
2687
  msgid "Powered by"
2688
  msgstr ""
2689
 
2813
  msgid "Upcoming Events"
2814
  msgstr ""
2815
 
2816
+ #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.15.0) #-#-#-#-#
2817
  #. Plugin Name of the plugin/theme
2818
+ #. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.15.0) #-#-#-#-#
2819
  #. Author of the plugin/theme
2820
+ #: src/Tribe/Main.php:1011 src/Tribe/Main.php:1549 src/Tribe/Privacy.php:29
2821
  #: src/admin-views/admin-welcome-message.php:29
2822
  #: src/functions/template-tags/general.php:1533 the-events-calendar.php:55
2823
  msgid "The Events Calendar"
2824
  msgstr ""
2825
 
2826
+ #: src/Tribe/Main.php:1018
2827
  msgid "month"
2828
  msgstr ""
2829
 
2830
+ #: src/Tribe/Main.php:1019
2831
  msgid "list"
2832
  msgstr ""
2833
 
2834
+ #: src/Tribe/Main.php:1020
2835
  msgid "upcoming"
2836
  msgstr ""
2837
 
2838
+ #: src/Tribe/Main.php:1021
2839
  msgid "past"
2840
  msgstr ""
2841
 
2842
+ #: src/Tribe/Main.php:1022
2843
  msgid "day"
2844
  msgstr ""
2845
 
2846
+ #: src/Tribe/Main.php:1023
2847
  msgid "today"
2848
  msgstr ""
2849
 
2850
+ #: src/Tribe/Main.php:1024
2851
  msgctxt "featured events slug"
2852
  msgid "featured"
2853
  msgstr ""
2854
 
2855
+ #: src/Tribe/Main.php:1025
2856
  msgctxt "all events slug"
2857
  msgid "all"
2858
  msgstr ""
2859
 
2860
+ #: src/Tribe/Main.php:1051
2861
  msgid "Initializing Tribe Events on %s"
2862
  msgstr ""
2863
 
2864
+ #: src/Tribe/Main.php:1123 src/Tribe/Main.php:1125
2865
  msgid "Welcome to The Events Calendar!"
2866
  msgstr ""
2867
 
2868
+ #: src/Tribe/Main.php:1274
2869
  msgid ""
2870
  "The %3$s \"%1$s\" uses the \"/%2$s\" slug: the Events Calendar plugin will "
2871
  "show its calendar in place of the page."
2872
  msgstr ""
2873
 
2874
+ #: src/Tribe/Main.php:1277
2875
  msgid "Ask the site administrator to edit the %s slug"
2876
  msgstr ""
2877
 
2878
+ #: src/Tribe/Main.php:1279
2879
  msgid "Edit the %s slug"
2880
  msgstr ""
2881
 
2882
+ #: src/Tribe/Main.php:1283
2883
  msgid " ask the site administrator to set a different Events URL slug."
2884
  msgstr ""
2885
 
2886
+ #: src/Tribe/Main.php:1288
2887
  msgid "edit Events settings."
2888
  msgstr ""
2889
 
2890
+ #: src/Tribe/Main.php:1291
2891
  msgid "%1$s or %2$s"
2892
  msgstr ""
2893
 
2894
+ #: src/Tribe/Main.php:1373
2895
  msgid "Upgrade your calendar views"
2896
  msgstr ""
2897
 
2898
+ #: src/Tribe/Main.php:1410
2899
  msgid "Upgrade"
2900
  msgstr ""
2901
 
2902
+ #: src/Tribe/Main.php:1469
2903
  msgid "New User Primer"
2904
  msgstr ""
2905
 
2906
+ #: src/Tribe/Main.php:1471
2907
  msgid ""
2908
  "We are committed to helping make your calendar spectacular and have a wealth "
2909
  "of resources available, including a handy %s to get your calendar up and "
2910
  "running."
2911
  msgstr ""
2912
 
2913
+ #: src/Tribe/Main.php:1482
2914
  msgid "Support for The Events Calendar"
2915
  msgstr ""
2916
 
2917
+ #: src/Tribe/Main.php:1488
2918
  msgid ""
2919
  "%s: A thorough walkthrough of The Events Calendar and the settings that are "
2920
  "available to you."
2921
  msgstr ""
2922
 
2923
+ #: src/Tribe/Main.php:1492
2924
  msgid "Settings overview"
2925
  msgstr ""
2926
 
2927
+ #: src/Tribe/Main.php:1496
2928
  msgid ""
2929
  "%s: A complete look at the features you can expect to see right out of the "
2930
  "box as well as how to use them."
2931
  msgstr ""
2932
 
2933
+ #: src/Tribe/Main.php:1500
2934
  msgid "Features overview"
2935
  msgstr ""
2936
 
2937
+ #: src/Tribe/Main.php:1504
2938
  msgid ""
2939
  "%s: Our most comprehensive outline for customizing the calendar to suit your "
2940
  "needs, including custom layouts and styles."
2941
  msgstr ""
2942
 
2943
+ #: src/Tribe/Main.php:1508
2944
  msgid "Themer's Guide"
2945
  msgstr ""
2946
 
2947
+ #: src/Tribe/Main.php:1512
2948
  msgid ""
2949
  "%s: An overview of the default templates and styles that are included in the "
2950
  "plugin, as well as how to change them."
2951
  msgstr ""
2952
 
2953
+ #: src/Tribe/Main.php:1516
2954
  msgid "Using stylesheets and page templates"
2955
  msgstr ""
2956
 
2957
+ #: src/Tribe/Main.php:1520
2958
  msgid ""
2959
  "%s: Do you see an issue with your calendar? Go here first to find where it’s "
2960
  "coming from and how to fix it."
2961
  msgstr ""
2962
 
2963
+ #: src/Tribe/Main.php:1524
2964
  msgid "Troubleshooting common problems"
2965
  msgstr ""
2966
 
2967
+ #: src/Tribe/Main.php:1528
2968
  msgid ""
2969
  "%s: Code and guides for customizing your calendar in useful and interesting "
2970
  "ways."
2971
  msgstr ""
2972
 
2973
+ #: src/Tribe/Main.php:1532
2974
  msgid "Customizing the Events plugins"
2975
  msgstr ""
2976
 
2977
+ #: src/Tribe/Main.php:1550
2978
  msgid "Events Tickets"
2979
  msgstr ""
2980
 
2981
+ #: src/Tribe/Main.php:1551
2982
  msgid ""
2983
  "If you have tried the above steps and are still having trouble, you can post "
2984
  "a new thread to our WordPress.org forums for %1$s or %2$s. Our support staff "
2985
  "monitors these forums once a week and would be happy to assist you there. "
2986
  msgstr ""
2987
 
2988
+ #: src/Tribe/Main.php:1553 src/Tribe/Main.php:1561
2989
  msgid "premium support on our website"
2990
  msgstr ""
2991
 
2992
+ #: src/Tribe/Main.php:1554
2993
  msgid ""
2994
  "<strong>Looking for more immediate support?</strong> We offer %s with the "
2995
  "purchase of any of our premium plugins. Pick up a license and you can post "
2996
  "there directly and expect a response within 24-48 hours during weekdays"
2997
  msgstr ""
2998
 
2999
+ #: src/Tribe/Main.php:1558
3000
  msgid "open-source forum on WordPress.org"
3001
  msgstr ""
3002
 
3003
+ #: src/Tribe/Main.php:1559
3004
  msgid ""
3005
  "If you have tried the above steps and are still having trouble, you can post "
3006
  "a new thread to our %s. Our support staff monitors these forums once a week "
3007
  "and would be happy to assist you there."
3008
  msgstr ""
3009
 
3010
+ #: src/Tribe/Main.php:1562
3011
  msgid "Events Calendar PRO"
3012
  msgstr ""
3013
 
3014
+ #: src/Tribe/Main.php:1563
3015
  msgid ""
3016
  "<strong>Looking for more immediate support?</strong> We offer %1$s with the "
3017
  "purchase of any of our premium plugins (like %2$s). Pick up a license and "
3019
  "weekdays."
3020
  msgstr ""
3021
 
3022
+ #: src/Tribe/Main.php:1567
3023
  msgid "post a thread"
3024
  msgstr ""
3025
 
3026
+ #: src/Tribe/Main.php:1568
3027
  msgid ""
3028
  "If you have a valid license for one of our paid plugins, you can %s in our "
3029
  "premium support forums. Our support team monitors the forums and will "
3030
  "respond to your thread within 24-48 hours (during the week)."
3031
  msgstr ""
3032
 
3033
+ #: src/Tribe/Main.php:1611
3034
  #: src/deprecated/Tribe__Events__Importer__Admin_Page.php:208
3035
  #: src/functions/template-tags/general.php:137
3036
  msgid "Events"
3037
  msgstr ""
3038
 
3039
+ #: src/Tribe/Main.php:1619 src/admin-views/aggregator/tabs/import-form.php:227
3040
  #: src/admin-views/aggregator/tabs/import-form.php:239
3041
  #: src/functions/template-tags/general.php:81
3042
  msgid "Event"
3043
  msgstr ""
3044
 
3045
+ #: src/Tribe/Main.php:1837
3046
  msgid ""
3047
  "Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
3048
  "your WordPress install."
3049
  msgstr ""
3050
 
3051
+ #: src/Tribe/Main.php:1840
3052
  msgid ""
3053
  "Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
3054
  "about moving you to a newer version of PHP."
3055
  msgstr ""
3056
 
3057
+ #: src/Tribe/Main.php:1875
3058
  msgid ""
3059
  "To continue using The Events Calendar, please install the latest version of"
3060
  msgstr ""
3061
 
3062
+ #: src/Tribe/Main.php:1877 src/Tribe/Main.php:1878
3063
  msgid "Event Tickets"
3064
  msgstr ""
3065
 
3066
+ #: src/Tribe/Main.php:1913
3067
  msgid ""
3068
  "It appears as if the tribe-common libraries cannot be found! The directory "
3069
  "should be in the \"common/\" directory in the events calendar plugin."
3070
  msgstr ""
3071
 
3072
+ #: src/Tribe/Main.php:2150 src/Tribe/Main.php:2702
3073
  msgid "category"
3074
  msgstr ""
3075
 
3076
+ #: src/Tribe/Main.php:2164 src/Tribe/Main.php:2701
3077
  msgid "tag"
3078
  msgstr ""
3079
 
3080
+ #: src/Tribe/Main.php:2199 src/Tribe/Organizer.php:91 src/Tribe/Venue.php:127
3081
  msgid "Add New"
3082
  msgstr ""
3083
 
3084
+ #: src/Tribe/Main.php:2201 src/Tribe/Main.php:2408 src/Tribe/Main.php:2409
3085
  #: src/Tribe/Organizer.php:92 src/Tribe/Venue.php:128
3086
  msgid "Add New %s"
3087
  msgstr ""
3088
 
3089
+ #: src/Tribe/Main.php:2207 src/Tribe/Organizer.php:94 src/Tribe/Venue.php:130
3090
  msgid "New %s"
3091
  msgstr ""
3092
 
3093
+ #: src/Tribe/Main.php:2210 src/Tribe/Organizer.php:95 src/Tribe/Venue.php:131
3094
  #: src/views/month/single-day.php:31
3095
  msgid "View %s"
3096
  msgstr ""
3097
 
3098
+ #: src/Tribe/Main.php:2213 src/Tribe/Organizer.php:96 src/Tribe/Venue.php:132
3099
  msgid "Search %s"
3100
  msgstr ""
3101
 
3102
+ #: src/Tribe/Main.php:2216 src/Tribe/Organizer.php:97 src/Tribe/Venue.php:133
3103
  msgid "No %s found"
3104
  msgstr ""
3105
 
3106
+ #: src/Tribe/Main.php:2219 src/Tribe/Organizer.php:98 src/Tribe/Venue.php:134
3107
  msgid "No %s found in Trash"
3108
  msgstr ""
3109
 
3110
+ #: src/Tribe/Main.php:2222 src/Tribe/Main.php:2361 src/Tribe/Main.php:2383
3111
  #: src/Tribe/Organizer.php:99 src/Tribe/Venue.php:135
3112
  msgid "%s published."
3113
  msgstr ""
3114
 
3115
+ #: src/Tribe/Main.php:2225 src/Tribe/Organizer.php:100 src/Tribe/Venue.php:136
3116
  msgid "%s published privately."
3117
  msgstr ""
3118
 
3119
+ #: src/Tribe/Main.php:2228 src/Tribe/Organizer.php:101 src/Tribe/Venue.php:137
3120
  msgid "%s reverted to draft."
3121
  msgstr ""
3122
 
3123
+ #: src/Tribe/Main.php:2231 src/Tribe/Organizer.php:102 src/Tribe/Venue.php:138
3124
  msgid "%s scheduled."
3125
  msgstr ""
3126
 
3127
+ #: src/Tribe/Main.php:2234 src/Tribe/Main.php:2317 src/Tribe/Main.php:2353
3128
+ #: src/Tribe/Main.php:2356 src/Tribe/Main.php:2375 src/Tribe/Main.php:2378
3129
  #: src/Tribe/Organizer.php:103 src/Tribe/Venue.php:139
3130
  msgid "%s updated."
3131
  msgstr ""
3133
  #. Translators: %s: Event singular.
3134
  #. Translators: %s: Organizer singular.
3135
  #. Translators: %s: Venue singular.
3136
+ #: src/Tribe/Main.php:2238 src/Tribe/Organizer.php:106 src/Tribe/Venue.php:142
3137
  msgid "%s Link"
3138
  msgstr ""
3139
 
3140
  #. Translators: %s: Event singular.
3141
  #. Translators: %s: Organizer singular.
3142
  #. Translators: %s: Venue singular.
3143
+ #: src/Tribe/Main.php:2242 src/Tribe/Organizer.php:110 src/Tribe/Venue.php:146
3144
  msgid "A link to a particular %s."
3145
  msgstr ""
3146
 
3147
+ #: src/Tribe/Main.php:2259
3148
  msgid "%s Category"
3149
  msgstr ""
3150
 
3151
+ #: src/Tribe/Main.php:2262
3152
  msgid "Search %s Categories"
3153
  msgstr ""
3154
 
3155
+ #: src/Tribe/Main.php:2265
3156
  msgid "All %s Categories"
3157
  msgstr ""
3158
 
3159
+ #: src/Tribe/Main.php:2268
3160
  msgid "Parent %s Category"
3161
  msgstr ""
3162
 
3163
+ #: src/Tribe/Main.php:2271
3164
  msgid "Parent %s Category:"
3165
  msgstr ""
3166
 
3167
+ #: src/Tribe/Main.php:2274
3168
  msgid "Edit %s Category"
3169
  msgstr ""
3170
 
3171
+ #: src/Tribe/Main.php:2277
3172
  msgid "Update %s Category"
3173
  msgstr ""
3174
 
3175
+ #: src/Tribe/Main.php:2280
3176
  msgid "Add New %s Category"
3177
  msgstr ""
3178
 
3179
+ #: src/Tribe/Main.php:2283
3180
  msgid "New %s Category Name"
3181
  msgstr ""
3182
 
3183
  #. Translators: %s: Event singular.
3184
+ #: src/Tribe/Main.php:2287
3185
  msgid "%s Category Link"
3186
  msgstr ""
3187
 
3188
  #. Translators: %s: Event singular.
3189
+ #: src/Tribe/Main.php:2291
3190
  msgid "A link to a particular %s category."
3191
  msgstr ""
3192
 
3193
+ #: src/Tribe/Main.php:2310
3194
  msgid "%1$s updated. %2$sView %1$s%3$s"
3195
  msgstr ""
3196
 
3197
+ #: src/Tribe/Main.php:2315 src/Tribe/Main.php:2354 src/Tribe/Main.php:2376
3198
  msgid "Custom field updated."
3199
  msgstr ""
3200
 
3201
+ #: src/Tribe/Main.php:2316 src/Tribe/Main.php:2355 src/Tribe/Main.php:2377
3202
  msgid "Custom field deleted."
3203
  msgstr ""
3204
 
3205
  #. translators: %s: date and time of the revision
3206
+ #: src/Tribe/Main.php:2320 src/Tribe/Main.php:2359
3207
  msgid "%1$s restored to revision from %2$s"
3208
  msgstr ""
3209
 
3210
+ #: src/Tribe/Main.php:2323
3211
  msgid "%1$s published. %2$sView %3$s"
3212
  msgstr ""
3213
 
3214
+ #: src/Tribe/Main.php:2328 src/Tribe/Main.php:2362 src/Tribe/Main.php:2384
3215
  msgid "%s saved."
3216
  msgstr ""
3217
 
3218
+ #: src/Tribe/Main.php:2330
3219
  msgid "%1$s submitted. %2$sPreview %3$s"
3220
  msgstr ""
3221
 
3222
+ #: src/Tribe/Main.php:2336
3223
  msgid "%1$s scheduled for: %2$s. %3$sPreview %4$s"
3224
  msgstr ""
3225
 
3226
  #. translators: Publish box date format, see http://php.net/date
3227
+ #: src/Tribe/Main.php:2339 src/Tribe/Main.php:2368 src/Tribe/Main.php:2390
3228
  msgid "M j, Y @ G:i"
3229
  msgstr ""
3230
 
3231
+ #: src/Tribe/Main.php:2344
3232
  msgid "%1$s draft updated. %2$sPreview %3$s"
3233
  msgstr ""
3234
 
3235
+ #: src/Tribe/Main.php:2363 src/Tribe/Main.php:2385
3236
  msgid "%s submitted."
3237
  msgstr ""
3238
 
3239
+ #: src/Tribe/Main.php:2365 src/Tribe/Main.php:2387
3240
  msgid "%1$s scheduled for: %2$s."
3241
  msgstr ""
3242
 
3243
+ #: src/Tribe/Main.php:2370 src/Tribe/Main.php:2393
3244
  msgid "%s draft updated."
3245
  msgstr ""
3246
 
3247
  #. translators: %s: date and time of the revision
3248
+ #: src/Tribe/Main.php:2381
3249
  msgid "%s restored to revision from %s"
3250
  msgstr ""
3251
 
3252
+ #: src/Tribe/Main.php:2438
3253
  msgid ""
3254
  "Without a defined location your event will not display a %sGoogle Rich "
3255
  "Snippet%s on the search results."
3256
  msgstr ""
3257
 
3258
+ #: src/Tribe/Main.php:2703
3259
  msgid "page"
3260
  msgstr ""
3261
 
3262
+ #: src/Tribe/Main.php:2704 src/functions/template-tags/general.php:109
3263
  msgid "event"
3264
  msgstr ""
3265
 
3266
+ #: src/Tribe/Main.php:2705 src/functions/template-tags/general.php:165
3267
  msgid "events"
3268
  msgstr ""
3269
 
3270
+ #: src/Tribe/Main.php:2706
3271
  msgid "all"
3272
  msgstr ""
3273
 
3274
+ #: src/Tribe/Main.php:3095
3275
+ #: src/Tribe/Views/V2/iCalendar/Links/Google_Calendar.php:222
3276
  msgid " (View Full %1$s Description Here: %2$s)"
3277
  msgstr ""
3278
 
3279
+ #: src/Tribe/Main.php:3888 src/Tribe/Main.php:3923
3280
  #: src/functions/template-tags/day.php:157
3281
  #: src/functions/template-tags/day.php:178
3282
  msgid "Date out of range."
3283
  msgstr ""
3284
 
3285
+ #: src/Tribe/Main.php:3953
3286
  msgid "%s Options"
3287
  msgstr ""
3288
 
3289
+ #: src/Tribe/Main.php:4306
3290
  msgid "Support"
3291
  msgstr ""
3292
 
3293
+ #: src/Tribe/Main.php:4309
3294
  msgid "View All Add-Ons"
3295
  msgstr ""
3296
 
3297
+ #: src/Tribe/Main.php:4330
3298
  msgid "News from The Events Calendar"
3299
  msgstr ""
3300
 
3301
+ #: src/Tribe/Main.php:4376
3302
  msgid "Additional Functionality"
3303
  msgstr ""
3304
 
3305
+ #: src/Tribe/Main.php:4381
3306
  msgid ""
3307
  "Looking for additional functionality including recurring events, ticket "
3308
  "sales, publicly submitted events, new views and more?"
3309
  msgstr ""
3310
 
3311
+ #: src/Tribe/Main.php:4382
3312
  msgid "Check out the %savailable add-ons%s."
3313
  msgstr ""
3314
 
3315
+ #: src/Tribe/Main.php:4483
3316
  msgid "Calendar"
3317
  msgstr ""
3318
 
3319
+ #: src/Tribe/Main.php:4499
3320
  msgid "List"
3321
  msgstr ""
3322
 
3323
+ #: src/Tribe/Main.php:4517
3324
  msgid "Month"
3325
  msgstr ""
3326
 
3327
+ #: src/Tribe/Main.php:4534 src/admin-views/aggregator/fields/schedule.php:43
3328
  #: src/admin-views/aggregator/fields/schedule.php:61
3329
  msgid "Day"
3330
  msgstr ""
3331
 
3332
+ #: src/Tribe/Main.php:4557
3333
  msgid "Search for %s by Keyword."
3334
  msgstr ""
3335
 
3336
+ #: src/Tribe/Main.php:4560
3337
  #: src/views/v2/components/events-bar/search-button.php:24
3338
  msgid "Search"
3339
  msgstr ""
3340
 
3341
+ #: src/Tribe/Main.php:4561
3342
  msgid "Keyword"
3343
  msgstr ""
3344
 
3345
+ #: src/Tribe/Main.php:4578
3346
  msgid "4 digit year hyphen 2 digit month hyphen 2 digit day"
3347
  msgstr ""
3348
 
3349
+ #: src/Tribe/Main.php:4579
3350
  msgid "1 digit month slash 1 digit day slash 4 digit year"
3351
  msgstr ""
3352
 
3353
+ #: src/Tribe/Main.php:4580
3354
  msgid "2 digit month slash 2 digit day slash 4 digit year"
3355
  msgstr ""
3356
 
3357
+ #: src/Tribe/Main.php:4581
3358
  msgid "1 digit day slash 1 digit month slash 4 digit year"
3359
  msgstr ""
3360
 
3361
+ #: src/Tribe/Main.php:4582
3362
  msgid "2 digit day slash 2 digit month slash 4 digit year"
3363
  msgstr ""
3364
 
3365
+ #: src/Tribe/Main.php:4583
3366
  msgid "1 digit month hyphen 1 digit day hyphen 4 digit year"
3367
  msgstr ""
3368
 
3369
+ #: src/Tribe/Main.php:4584
3370
  msgid "1 digit month hyphen 2 digit day hyphen 4 digit year"
3371
  msgstr ""
3372
 
3373
+ #: src/Tribe/Main.php:4585
3374
  msgid "1 digit day hyphen 1 digit month hyphen 4 digit year"
3375
  msgstr ""
3376
 
3377
+ #: src/Tribe/Main.php:4586
3378
  msgid "2 digit day hyphen 2 digit month hyphen 4 digit year"
3379
  msgstr ""
3380
 
3381
+ #: src/Tribe/Main.php:4587
3382
  msgid "4 digit year dot 2 digit month dot 2 digit day"
3383
  msgstr ""
3384
 
3385
+ #: src/Tribe/Main.php:4588
3386
  msgid "2 digit month dot 2 digit day dot 4 digit year"
3387
  msgstr ""
3388
 
3389
+ #: src/Tribe/Main.php:4589
3390
  msgid "2 digit day dot 2 digit month dot 4 digit year"
3391
  msgstr ""
3392
 
3393
+ #: src/Tribe/Main.php:4593
3394
  msgid "4 digit year hyphen 2 digit month"
3395
  msgstr ""
3396
 
3397
+ #: src/Tribe/Main.php:4594 src/Tribe/Main.php:4596
3398
  msgid "1 digit month slash 4 digit year"
3399
  msgstr ""
3400
 
3401
+ #: src/Tribe/Main.php:4595 src/Tribe/Main.php:4597
3402
  msgid "2 digit month slash 4 digit year"
3403
  msgstr ""
3404
 
3405
+ #: src/Tribe/Main.php:4598 src/Tribe/Main.php:4599 src/Tribe/Main.php:4600
3406
  msgid "1 digit month hyphen 4 digit year"
3407
  msgstr ""
3408
 
3409
+ #: src/Tribe/Main.php:4601
3410
  msgid "2 digit month hyphen 4 digit year"
3411
  msgstr ""
3412
 
3413
+ #: src/Tribe/Main.php:4602
3414
  msgid "4 digit year dot 2 digit month"
3415
  msgstr ""
3416
 
3417
+ #: src/Tribe/Main.php:4603 src/Tribe/Main.php:4604
3418
  msgid "2 digit month dot 4 digit year"
3419
  msgstr ""
3420
 
3421
+ #: src/Tribe/Main.php:4633 src/Tribe/Main.php:4670
3422
  #: src/admin-views/aggregator/origins/refine.php:7
3423
  msgid "Date"
3424
  msgstr ""
3425
 
3426
+ #: src/Tribe/Main.php:4635
3427
  msgid "Search for %s by Date. Please use the format %s."
3428
  msgstr ""
3429
 
3430
+ #: src/Tribe/Main.php:4648
3431
  msgid "%s In"
3432
  msgstr ""
3433
 
3434
+ #: src/Tribe/Main.php:4650
3435
  msgid "Search for %s by month. Please use the format %s."
3436
  msgstr ""
3437
 
3438
+ #: src/Tribe/Main.php:4653
3439
  msgid "%s From"
3440
  msgstr ""
3441
 
3442
+ #: src/Tribe/Main.php:4656
3443
  msgid "Day Of"
3444
  msgstr ""
3445
 
3446
+ #: src/Tribe/Main.php:4736
3447
  msgid "Once Every 30 Mins"
3448
  msgstr ""
3449
 
3450
+ #: src/Tribe/Main.php:5474
3451
  msgid ""
3452
  "Your version of The Events Calendar is not up-to-date with one of your The "
3453
  "Events Calendar add-ons. Please %supdate now.%s"
3454
  msgstr ""
3455
 
3456
+ #: src/Tribe/Main.php:5487
3457
  msgid ""
3458
  "The following plugins are out of date: %1$s. All add-ons contain "
3459
  "dependencies on The Events Calendar and will not function properly unless "
3460
  "paired with the right version. %2$sLearn More%3$s."
3461
  msgstr ""
3462
 
3463
+ #: src/Tribe/Main.php:5526 src/Tribe/Main.php:5583
3464
  msgid "Use Saved %s:"
3465
  msgstr ""
3466
 
5184
  msgid "Custom Color"
5185
  msgstr ""
5186
 
5187
+ #: src/Tribe/Views/V2/Hooks.php:543
5188
  msgid "We recommend a 16:9 aspect ratio for featured images."
5189
  msgstr ""
5190
 
5191
+ #: src/Tribe/Views/V2/Hooks.php:620
5192
  msgid "Recommended for all sites using the updated calendar views."
5193
  msgstr ""
5194
 
5195
+ #: src/Tribe/Views/V2/Hooks.php:635
5196
  msgid "The Events Calendar - View V2"
5197
  msgstr ""
5198
 
5199
+ #: src/Tribe/Views/V2/Hooks.php:916
5200
  msgctxt "Capitalized label for the event website link."
5201
  msgid "View %s Website"
5202
  msgstr ""
5203
 
5204
+ #: src/Tribe/Views/V2/Hooks.php:944
5205
  msgctxt "Capitalized label for the venue website link."
5206
  msgid "View %s Website"
5207
  msgstr ""
5208
 
5209
+ #: src/Tribe/Views/V2/Hooks.php:972
5210
  msgctxt "Capitalized label for the organizer website link."
5211
  msgid "View %s Website"
5212
  msgstr ""
5213
 
5214
+ #: src/Tribe/Views/V2/Hooks.php:1110
5215
  msgid "Enabled"
5216
  msgstr ""
5217
 
5218
+ #: src/Tribe/Views/V2/Hooks.php:1110
5219
  #: src/admin-views/tribe-options-general.php:182
5220
  #: src/admin-views/tribe-options-general.php:200
5221
  msgid "Disabled"
5295
  msgid "%1$s for %2$s"
5296
  msgstr ""
5297
 
5298
+ #: src/Tribe/Views/V2/View.php:1996 src/views/v2/day/event/date/featured.php:27
5299
  #: src/views/v2/day/event/date/featured.php:32
5300
  #: src/views/v2/latest-past/event/date/featured.php:27
5301
  #: src/views/v2/latest-past/event/date/featured.php:32
5344
  msgstr ""
5345
 
5346
  #. translators: 1: opening href tag 2: event label plural 3: closing href tag
5347
+ #: src/Tribe/Views/V2/Views/Traits/With_Fast_Forward_Link.php:57
5348
  msgid "Jump to the %1$snext upcoming %2$s%3$s."
5349
  msgstr ""
5350
 
5406
  msgid "Generate JSON-LD data"
5407
  msgstr ""
5408
 
 
 
 
 
 
 
5409
  #: src/Tribe/Views/V2/iCalendar/Links/iCalendar_Export.php:31
5410
  msgid "Export .ics file"
5411
  msgstr ""
5487
  msgstr ""
5488
 
5489
  #: src/admin-views/admin-update-message.php:65
5490
+ #: src/admin-views/aggregator/settings.php:719
5491
+ #: src/admin-views/aggregator/settings.php:759
5492
  msgid "Imports"
5493
  msgstr ""
5494
 
6071
  "Event Aggregator will attempt to import events at that location."
6072
  msgstr ""
6073
 
6074
+ #: src/admin-views/aggregator/settings.php:9
6075
  msgid "Use global import settings"
6076
  msgstr ""
6077
 
6078
+ #: src/admin-views/aggregator/settings.php:19
6079
  msgid "No default category"
6080
  msgstr ""
6081
 
6082
+ #: src/admin-views/aggregator/settings.php:28
6083
  msgid "None"
6084
  msgstr ""
6085
 
6086
+ #: src/admin-views/aggregator/settings.php:40
6087
  msgid "No"
6088
  msgstr ""
6089
 
6090
+ #: src/admin-views/aggregator/settings.php:41
6091
  msgid "Yes"
6092
  msgstr ""
6093
 
6094
+ #: src/admin-views/aggregator/settings.php:49
6095
+ #: src/admin-views/aggregator/settings.php:59
6096
  msgid "Event Update Authority"
6097
  msgstr ""
6098
 
6099
+ #: src/admin-views/aggregator/settings.php:54
6100
  msgid ""
6101
  "You can make changes to imported events via The Events Calendar and see "
6102
  "those changes reflected on your site’s calendar. The owner of the original "
6106
  "your calendar will need to be addressed."
6107
  msgstr ""
6108
 
6109
+ #: src/admin-views/aggregator/settings.php:64
6110
  msgid "Overwrite my event with any changes from the original source."
6111
  msgstr ""
6112
 
6113
+ #: src/admin-views/aggregator/settings.php:65
6114
  msgid "Do not re-import events. Changes made locally will be preserved."
6115
  msgstr ""
6116
 
6117
+ #: src/admin-views/aggregator/settings.php:66
6118
  msgid "Import events but preserve local changes to event fields."
6119
  msgstr ""
6120
 
6121
+ #: src/admin-views/aggregator/settings.php:75
6122
  #: src/deprecated/Tribe__Events__Importer__Admin_Page.php:89
6123
  msgid "CSV Import Settings"
6124
  msgstr ""
6125
 
6126
+ #: src/admin-views/aggregator/settings.php:80
6127
+ #: src/admin-views/aggregator/settings.php:142
6128
+ #: src/admin-views/aggregator/settings.php:250
6129
+ #: src/admin-views/aggregator/settings.php:294
6130
+ #: src/admin-views/aggregator/settings.php:338
6131
+ #: src/admin-views/aggregator/settings.php:394
6132
+ #: src/admin-views/aggregator/settings.php:438
6133
+ #: src/admin-views/aggregator/settings.php:517
6134
  msgid "Default Status"
6135
  msgstr ""
6136
 
6137
+ #: src/admin-views/aggregator/settings.php:81
6138
  msgid "The default post status for events imported via CSV"
6139
  msgstr ""
6140
 
6141
+ #: src/admin-views/aggregator/settings.php:92
6142
+ #: src/admin-views/aggregator/settings.php:154
6143
+ #: src/admin-views/aggregator/settings.php:262
6144
+ #: src/admin-views/aggregator/settings.php:306
6145
+ #: src/admin-views/aggregator/settings.php:350
6146
+ #: src/admin-views/aggregator/settings.php:406
6147
+ #: src/admin-views/aggregator/settings.php:450
6148
+ #: src/admin-views/aggregator/settings.php:529
6149
  msgid "Default Event Category"
6150
  msgstr ""
6151
 
6152
+ #: src/admin-views/aggregator/settings.php:93
6153
  msgid "The default event category for events imported via CSV"
6154
  msgstr ""
6155
 
6156
+ #: src/admin-views/aggregator/settings.php:107
6157
  msgid "Event Aggregator Control"
6158
  msgstr ""
6159
 
6160
+ #: src/admin-views/aggregator/settings.php:112
6161
  msgid "Disable Event Aggregator imports"
6162
  msgstr ""
6163
 
6164
+ #: src/admin-views/aggregator/settings.php:113
6165
  msgid ""
6166
  "Stop all Event Aggregator imports from running. Existing imported events "
6167
  "will not be affected. Imports via CSV file will still be available."
6168
  msgstr ""
6169
 
6170
+ #: src/admin-views/aggregator/settings.php:126
6171
  msgid ""
6172
  "If you want to stop and clear current asynchronous import processes %1$s."
6173
  msgstr ""
6174
 
6175
+ #: src/admin-views/aggregator/settings.php:130
6176
  msgid "click here"
6177
  msgstr ""
6178
 
6179
+ #: src/admin-views/aggregator/settings.php:137
6180
  msgid "Global Import Settings"
6181
  msgstr ""
6182
 
6183
+ #: src/admin-views/aggregator/settings.php:143
6184
  msgid "The default post status for events"
6185
  msgstr ""
6186
 
6187
+ #: src/admin-views/aggregator/settings.php:155
6188
  msgid "The default event category for events"
6189
  msgstr ""
6190
 
6191
+ #: src/admin-views/aggregator/settings.php:166
6192
+ #: src/admin-views/aggregator/settings.php:274
6193
+ #: src/admin-views/aggregator/settings.php:318
6194
+ #: src/admin-views/aggregator/settings.php:362
6195
+ #: src/admin-views/aggregator/settings.php:418
6196
+ #: src/admin-views/aggregator/settings.php:462
6197
+ #: src/admin-views/aggregator/settings.php:541
6198
  msgid "Show Map"
6199
  msgstr ""
6200
 
6201
+ #: src/admin-views/aggregator/settings.php:167
6202
+ #: src/admin-views/aggregator/settings.php:275
6203
+ #: src/admin-views/aggregator/settings.php:319
6204
+ #: src/admin-views/aggregator/settings.php:363
6205
+ #: src/admin-views/aggregator/settings.php:419
6206
+ #: src/admin-views/aggregator/settings.php:463
6207
+ #: src/admin-views/aggregator/settings.php:542
6208
  msgid "Show map by default on imported event and venues"
6209
  msgstr ""
6210
 
6211
+ #: src/admin-views/aggregator/settings.php:178
6212
  msgid "Import Limit Type"
6213
  msgstr ""
6214
 
6215
+ #: src/admin-views/aggregator/settings.php:179
6216
  msgid ""
6217
  "Limit the number of imported events by number, date range, or not at all; on "
6218
  "slower websites this may impact the success of imports. Selecting a shorter "
6219
  "time period or a smaller number of events may improve results."
6220
  msgstr ""
6221
 
6222
+ #: src/admin-views/aggregator/settings.php:190
6223
+ #: src/admin-views/aggregator/settings.php:474
6224
  msgid "Import Date Range Limit"
6225
  msgstr ""
6226
 
6227
+ #: src/admin-views/aggregator/settings.php:191
6228
  msgid ""
6229
  "When importing from an event source, this is how far into the future the "
6230
  "events will be fetched; on slower websites a larger date range may impact "
6231
  "the success of imports. Selecting a shorter time period may improve results."
6232
  msgstr ""
6233
 
6234
+ #: src/admin-views/aggregator/settings.php:207
6235
  msgid "Import Quantity Limit"
6236
  msgstr ""
6237
 
6238
+ #: src/admin-views/aggregator/settings.php:208
6239
  msgid ""
6240
  "When importing from an event source, this is the maximum number of events "
6241
  "that will be imported; on slower websites this may impact the success of "
6242
  "imports. Setting this to a smaller number may improve results."
6243
  msgstr ""
6244
 
6245
+ #: src/admin-views/aggregator/settings.php:224
6246
  msgid "Import Process System"
6247
  msgstr ""
6248
 
6249
+ #: src/admin-views/aggregator/settings.php:225
6250
  msgid ""
6251
  "The Asynchronous import process is faster and does not rely on WordPress "
6252
  "Cron but might not work correctly in all WordPress installations, try "
6253
  "switching to the Cron-based process for maximum compatibility."
6254
  msgstr ""
6255
 
6256
+ #: src/admin-views/aggregator/settings.php:236
6257
  msgid "Stop current processes"
6258
  msgstr ""
6259
 
6260
+ #: src/admin-views/aggregator/settings.php:245
6261
  msgid "iCalendar Import Settings"
6262
  msgstr ""
6263
 
6264
+ #: src/admin-views/aggregator/settings.php:251
6265
  msgid "The default post status for events imported via iCalendar"
6266
  msgstr ""
6267
 
6268
+ #: src/admin-views/aggregator/settings.php:263
6269
  msgid "The default event category for events imported via iCalendar"
6270
  msgstr ""
6271
 
6272
+ #: src/admin-views/aggregator/settings.php:289
6273
  msgid "ICS File Import Settings"
6274
  msgstr ""
6275
 
6276
+ #: src/admin-views/aggregator/settings.php:295
6277
  msgid "The default post status for events imported via .ics files"
6278
  msgstr ""
6279
 
6280
+ #: src/admin-views/aggregator/settings.php:307
6281
  msgid "The default event category for events imported via .ics files"
6282
  msgstr ""
6283
 
6284
+ #: src/admin-views/aggregator/settings.php:333
6285
  msgid "Google Calendar Import Settings"
6286
  msgstr ""
6287
 
6288
+ #: src/admin-views/aggregator/settings.php:339
6289
  msgid "The default post status for events imported via Google Calendar"
6290
  msgstr ""
6291
 
6292
+ #: src/admin-views/aggregator/settings.php:351
6293
  msgid "The default event category for events imported via Google Calendar"
6294
  msgstr ""
6295
 
6296
+ #: src/admin-views/aggregator/settings.php:377
6297
  msgid "Meetup Import Settings"
6298
  msgstr ""
6299
 
6300
+ #: src/admin-views/aggregator/settings.php:383
6301
  msgid ""
6302
  "To import Meetup events, please be sure to add your Meetup API key on "
6303
  "%1$sEvents > Settings > Integrations%2$s"
6304
  msgstr ""
6305
 
6306
+ #: src/admin-views/aggregator/settings.php:395
6307
  msgid "The default post status for events imported via Meetup"
6308
  msgstr ""
6309
 
6310
+ #: src/admin-views/aggregator/settings.php:407
6311
  msgid "The default event category for events imported via Meetup"
6312
  msgstr ""
6313
 
6314
+ #: src/admin-views/aggregator/settings.php:433
6315
  msgid "Other URL Import Settings"
6316
  msgstr ""
6317
 
6318
+ #: src/admin-views/aggregator/settings.php:439
6319
  msgid "The default post status for events imported via other URLs"
6320
  msgstr ""
6321
 
6322
+ #: src/admin-views/aggregator/settings.php:451
6323
  msgid "The default event category for events imported via other URLs"
6324
  msgstr ""
6325
 
6326
+ #: src/admin-views/aggregator/settings.php:475
6327
  msgid ""
6328
  "When importing from a website that uses The Events Calendar, the REST API "
6329
  "will attempt to fetch events this far in the future. That website's hosting "
6331
  "may improve results."
6332
  msgstr ""
6333
 
6334
+ #: src/admin-views/aggregator/settings.php:486
6335
  msgid "Import Event Settings"
6336
  msgstr ""
6337
 
6338
+ #: src/admin-views/aggregator/settings.php:487
6339
  msgid ""
6340
  "Fetch source event's settings (e.g. Show Maps Link or Sticky in Month View) "
6341
  "when importing from another site using The Events Calendar."
6342
  msgstr ""
6343
 
6344
+ #: src/admin-views/aggregator/settings.php:499
6345
  #: src/admin-views/aggregator/tabs/import-form.php:16
6346
  #: src/admin-views/aggregator/tabs/import-form.php:256
6347
  msgid "(do not override)"
6348
  msgstr ""
6349
 
6350
+ #: src/admin-views/aggregator/settings.php:512
6351
  msgid "Eventbrite Import Settings"
6352
  msgstr ""
6353
 
6354
+ #: src/admin-views/aggregator/settings.php:518
6355
  msgid "The default post status for events imported via Eventbrite"
6356
  msgstr ""
6357
 
6358
+ #: src/admin-views/aggregator/settings.php:530
6359
  msgid "The default event category for events imported via Eventbrite"
6360
  msgstr ""
6361
 
6362
+ #: src/admin-views/aggregator/settings.php:603
6363
  msgid "Update Authority"
6364
  msgstr ""
6365
 
6366
+ #: src/admin-views/aggregator/settings.php:607
6367
  msgid "Global"
6368
  msgstr ""
6369
 
6370
+ #: src/admin-views/aggregator/settings.php:631
6371
  msgid "Other URLs"
6372
  msgstr ""
6373
 
6374
+ #: src/admin-views/aggregator/settings.php:681
6375
  msgid ""
6376
  "Use the options below to configure your imports. Global Import Settings "
6377
  "apply to all imports, but you can also override the global settings by "
6379
  "Status on the %1$s."
6380
  msgstr ""
6381
 
6382
+ #: src/admin-views/aggregator/settings.php:685
6383
  msgid "Help page"
6384
  msgstr ""
6385
 
6386
+ #: src/admin-views/aggregator/settings.php:705
6387
  msgid ""
6388
  "Use the options below to configure your imports. Looking for more ways to "
6389
  "import events from other websites?"
6390
  msgstr ""
6391
 
6392
+ #: src/admin-views/aggregator/settings.php:706
6393
  msgid "Check out Event Aggregator."
6394
  msgstr ""
6395
 
7117
  "to third-party APIs and manage your integrations."
7118
  msgstr ""
7119
 
7120
+ #: src/admin-views/tribe-options-display.php:5
7121
+ msgid "Default Events Template"
7122
+ msgstr ""
7123
+
7124
+ #: src/admin-views/tribe-options-display.php:6
7125
+ msgid "Default Page Template"
7126
+ msgstr ""
7127
+
7128
+ #: src/admin-views/tribe-options-display.php:15
7129
+ msgid "Skeleton Styles"
7130
+ msgstr ""
7131
+
7132
+ #: src/admin-views/tribe-options-display.php:17
7133
+ msgid ""
7134
+ "Only includes enough css to achieve complex layouts like calendar and week "
7135
+ "view."
7136
+ msgstr ""
7137
+
7138
+ #: src/admin-views/tribe-options-display.php:22
7139
+ msgid "Full Styles"
7140
+ msgstr ""
7141
+
7142
+ #: src/admin-views/tribe-options-display.php:24
7143
+ msgid "More detailed styling, tries to grab styles from your theme."
7144
+ msgstr ""
7145
+
7146
+ #: src/admin-views/tribe-options-display.php:29
7147
+ msgid "Tribe Events Styles"
7148
+ msgstr ""
7149
+
7150
+ #: src/admin-views/tribe-options-display.php:31
7151
+ msgid "A fully designed and styled theme for your events pages."
7152
+ msgstr ""
7153
+
7154
+ #: src/admin-views/tribe-options-display.php:46
7155
+ msgid "Default stylesheet used for events templates"
7156
+ msgstr ""
7157
+
7158
+ #: src/admin-views/tribe-options-display.php:100
7159
  msgid "Display Settings"
7160
  msgstr ""
7161
 
7162
+ #: src/admin-views/tribe-options-display.php:105
7163
  msgid ""
7164
  "The settings below control the display of your calendar. If things don't "
7165
  "look right, try switching between the three style sheet options or pick a "
7168
 
7169
  #. translators: %s: URL to knowledgebase. Please also use &#37; for % to avoid
7170
  #. PHP warnings.
7171
+ #: src/admin-views/tribe-options-display.php:109
7172
  msgid ""
7173
  "There are going to be situations where no out-of-the-box template is "
7174
  "100&#37; perfect. Check out our <a href=\"%s\">our themer's guide</a> for "
7175
  "instructions on custom modifications."
7176
  msgstr ""
7177
 
7178
+ #: src/admin-views/tribe-options-display.php:128
7179
  msgid "Date with year"
7180
  msgstr ""
7181
 
7182
+ #: src/admin-views/tribe-options-display.php:129
7183
  msgid ""
7184
  "Enter the format to use for displaying dates with the year. Used when "
7185
  "displaying a date in a future year."
7186
  msgstr ""
7187
 
7188
+ #: src/admin-views/tribe-options-display.php:136
7189
  msgid "Date time separator"
7190
  msgstr ""
7191
 
7192
+ #: src/admin-views/tribe-options-display.php:137
7193
  msgid ""
7194
  "Enter the separator that will be placed between the date and time, when both "
7195
  "are shown."
7196
  msgstr ""
7197
 
7198
+ #: src/admin-views/tribe-options-display.php:151
7199
  msgid "Date without year"
7200
  msgstr ""
7201
 
7202
+ #: src/admin-views/tribe-options-display.php:152
7203
  msgid ""
7204
  "Enter the format to use for displaying dates without a year. Used when "
7205
  "showing an event from the current year."
7206
  msgstr ""
7207
 
7208
+ #: src/admin-views/tribe-options-display.php:159
7209
  msgid "Month and year format"
7210
  msgstr ""
7211
 
7212
+ #: src/admin-views/tribe-options-display.php:160
7213
  msgid ""
7214
  "Enter the format to use for dates that show a month and year only. Used on "
7215
  "month view."
7216
  msgstr ""
7217
 
7218
+ #: src/admin-views/tribe-options-display.php:174
7219
  msgid "Time range separator"
7220
  msgstr ""
7221
 
7222
+ #: src/admin-views/tribe-options-display.php:175
7223
  msgid ""
7224
  "Enter the separator that will be used between the start and end time of an "
7225
  "event."
7226
  msgstr ""
7227
 
7228
+ #: src/admin-views/tribe-options-display.php:183
7229
  msgid "You must select at least one view."
7230
  msgstr ""
7231
 
7232
+ #: src/admin-views/tribe-options-display.php:187
7233
  msgid ""
7234
  "Please note that you are using The Events Calendar's default Google Maps API "
7235
  "key, which will limit the Map View's functionality. Visit %sthe API Settings "
7236
  "page%s to learn more and add your own Google Maps API key."
7237
  msgstr ""
7238
 
7239
+ #: src/admin-views/tribe-options-display.php:199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7240
  msgid "Basic Template Settings"
7241
  msgstr ""
7242
 
7243
+ #: src/admin-views/tribe-options-display.php:205
 
 
 
 
 
 
 
 
7244
  msgid "Events template"
7245
  msgstr ""
7246
 
7247
+ #: src/admin-views/tribe-options-display.php:206
7248
  msgid ""
7249
  "Choose a page template to control the appearance of your calendar and event "
7250
  "content."
7251
  msgstr ""
7252
 
7253
+ #: src/admin-views/tribe-options-display.php:214
7254
  msgid "Enable event views"
7255
  msgstr ""
7256
 
7257
+ #: src/admin-views/tribe-options-display.php:230
7258
  msgid "Use updated calendar designs"
7259
  msgstr ""
7260
 
7261
+ #: src/admin-views/tribe-options-display.php:231
7262
  msgid "Enable updated designs for all calendar views"
7263
  msgstr ""
7264
 
7265
+ #: src/admin-views/tribe-options-display.php:245
7266
  msgid "Default view"
7267
  msgstr ""
7268
 
7269
+ #: src/admin-views/tribe-options-display.php:253
7270
  msgid "Disable the Event Search Bar"
7271
  msgstr ""
7272
 
7273
+ #: src/admin-views/tribe-options-display.php:254
7274
  msgid "Check this to use the classic header."
7275
  msgstr ""
7276
 
7277
+ #: src/admin-views/tribe-options-display.php:260
7278
  msgid "Month view events per day"
7279
  msgstr ""
7280
 
7281
+ #: src/admin-views/tribe-options-display.php:261
7282
  msgid ""
7283
  "Change the default 3 events per day in month view. To impose no limit, you "
7284
  "may specify -1. Please note there may be performance issues if you allow too "
7285
  "many events per day. <a href=\"%s\">Read more</a>."
7286
  msgstr ""
7287
 
7288
+ #: src/admin-views/tribe-options-display.php:268
7289
  msgid "Enable the Month View Cache"
7290
  msgstr ""
7291
 
7292
+ #: src/admin-views/tribe-options-display.php:269
7293
  msgid ""
7294
  "Check this to cache your month view HTML in transients, which can help "
7295
  "improve calendar speed on sites with many events. <a href=\"%s\">Read more</"
7296
  "a>."
7297
  msgstr ""
7298
 
7299
+ #: src/admin-views/tribe-options-display.php:282
7300
  msgid "Advanced Template Settings"
7301
  msgstr ""
7302
 
7303
+ #: src/admin-views/tribe-options-display.php:286
7304
  msgid "Add HTML before event content"
7305
  msgstr ""
7306
 
7307
+ #: src/admin-views/tribe-options-display.php:287
7308
  msgid ""
7309
  "If you are familiar with HTML, you can add additional code before the event "
7310
  "template. Some themes may require this to help with styling or layout."
7311
  msgstr ""
7312
 
7313
+ #: src/admin-views/tribe-options-display.php:292
7314
  msgid "Add HTML after event content"
7315
  msgstr ""
7316
 
7317
+ #: src/admin-views/tribe-options-display.php:293
7318
  msgid ""
7319
  "If you are familiar with HTML, you can add additional code after the event "
7320
  "template. Some themes may require this to help with styling or layout."
7602
  "the Display settings tab."
7603
  msgstr ""
7604
 
7605
+ #: src/admin-views/tribe-options-network.php:15
7606
+ msgid "Network Settings"
7607
+ msgstr ""
7608
+
7609
+ #: src/admin-views/tribe-options-network.php:19
7610
+ msgid ""
7611
+ "This is where all of the global network settings for The Events Calendar can "
7612
+ "be modified."
7613
+ msgstr ""
7614
+
7615
+ #: src/admin-views/tribe-options-network.php:27
7616
+ msgid "Hide the following settings tabs on every site:"
7617
+ msgstr ""
7618
+
7619
  #: src/admin-views/tribe-options-timezones.php:7
7620
  msgid "Enable Time Zone support"
7621
  msgstr ""
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === The Events Calendar ===
2
 
3
- Contributors: theeventscalendar, borkweb, bordoni, brianjessee, aguseo, camwynsp, GeoffBel, geoffgraham, jentheo, leahkoerper, lucatume, neillmcshea, patriciahillebrandt, paulskim, vicskf, zbtirrell, juanfra
4
  Tags: events, calendar, event, schedule, organizer
5
  Donate link: https://evnt.is/29
6
  Requires at least: 5.6
7
- Stable tag: 5.14.2.1
8
  Tested up to: 5.9.3
9
  Requires PHP: 7.1
10
  License: GPLv2 or later
@@ -223,25 +223,16 @@ Remember to always make a backup of your database and files before updating!
223
 
224
  == Changelog ==
225
 
226
- = [5.14.2.1] 2022-04-28 =
227
 
228
- * Fix - Correct an issue with linked common release.
229
-
230
- = [5.14.2] 2022-04-28 =
231
-
232
- * Feature - Add support to CSV import for the ISO Currency Code field. [TEC-4341]
233
- * Feature - First iteration of changes for Full Site Editor compatibility. [TEC-4262]
234
- * Tweak - Added filters `tribe_merge_identical_organizers_enabled`, `tribe_merge_identical_venues_enabled`, `tribe_merge_identical_organizers_fields`, `tribe_merge_identical_venues_fields`, `tribe_amalgamate_venues_keep_venue`, `tribe_amalgamate_organizers_keep_organizer` for better control of the merge duplicate venues and organizers functionality. [TEC-4225]
235
- * Tweak - Added filter `tribe_events_views_v2_ff_link_next_event` to allow better control of the fast-forward link target. [ECP-957]
236
- * Tweak - Allow filtering of the "next event" query in the fast-forward link. [ECP-957]
237
- * Tweak - Added filters: `tribe_merge_identical_organizers_enabled`, `tribe_merge_identical_venues_enabled`, `tribe_merge_identical_organizers_fields`, `tribe_merge_identical_venues_fields`, `tribe_amalgamate_venues_keep_venue`, `tribe_amalgamate_organizers_keep_organizer`, `tribe_events_views_v2_ff_link_next_event`.
238
- * Tweak - Changed views: `blocks/archive-events`.
239
- * Fix - Correctly calculate Event duration when the Event crosses the daylight saving date and time. [TEC-4336]
240
- * Fix - Don't try to validate "raw" as a date. [TEC-4254]
241
- * Fix - Ensure the Views don't try to do math with strings. [TEC-4322]
242
- * Fix - Enable more than 5 csv entries to be imported when using 8.0.15 to 8.0.17 or 8.1.2 to 8.1.4. [TEC-4312]
243
- * Fix - Ensure Google Calendar links include the event description if it exists. [TEC-4315]
244
- * Language - 3 new strings added, 232 updated, 0 fuzzied, and 0 obsoleted.
245
 
246
  = [5.14.1] 2022-03-17 =
247
 
@@ -348,8 +339,8 @@ Remember to always make a backup of your database and files before updating!
348
 
349
  * Feature - Add new subscribe options to the "Export Events" link at the bottom of calendar views and single Event view [TEC-4131]
350
  * Fix - Bypass caching of the event when dealing with the admin event list table. [TEC-4156]
351
- * Fix - Event List Widget will not print the H3 tag related to the title when that is empty. [TEC-4160]
352
- * Tweak - Allow bypassing of the Aggregator logging function by using the `tec_aggregator_records_should_log_error` filter. [TEC-4159]
353
  * Tweak - Removed the `tribe_events_force_filtered_ical_link` filter and the associated js function that recreates the subscribe link on v1 and Single Event views. [TEC-4131]
354
  * Language - 4 new strings added, 52 updated, 0 fuzzied, and 2 obsoleted
355
 
@@ -493,7 +484,7 @@ Remember to always make a backup of your database and files before updating!
493
  = [5.6.0] 2021-04-29 =
494
 
495
  * Version - The Events Calendar 5.6.0 is only compatible with Events Calendar PRO 5.6.0 and higher
496
- * Fix - Correct implementation of filters in Views/V2/Hooks.php to avoid fatals. [ECP-761]
497
  * Fix - Ensure when saving on Blocks editor Organizer and Venue IDs don't throw notices for failed deletion. [TEC-3844]
498
  * Fix - Resolve compatibility problem between The Events Calendar and other plugins using Select2. [TEC-3748]
499
  * Fix - Enqueue full styles for v2 event single only when using full styles. [TEC-3848]
@@ -530,7 +521,7 @@ Remember to always make a backup of your database and files before updating!
530
 
531
  = [5.4.0.1] 2021-03-04 =
532
 
533
- * Fix - Prevent fatals happening with PHP 5.6 due to duplicated class for templates [TEC-3799]
534
 
535
  = [5.4.0] 2021-02-24 =
536
 
@@ -556,7 +547,7 @@ Remember to always make a backup of your database and files before updating!
556
  * Feature - Add customizer support for custom location pins on single events when Views V2 is active. [TEC-3276]
557
  * Fix - Use dynamic label for fast-forward link on the month view. [TEC-3452]
558
  * Fix - Correctly filter `locale` in the `Tribe\Events\I18n` class to avoid errors.
559
- * Fix - Prevent heartbeat warning when null data param is passed on Cron and AJAX requests [TEC-3745]
560
  * Fix - Increase the minimum width of the datetime dropdown when editing an event with the block editor. [TEC-3126]
561
  * Fix - Ordering with an Array when using `Tribe__Repository` now properly ignores the global order passed as the default. [ECP-598]
562
  * Fix - Resolve PHP 8.0 incompatibility with `__wakeup` and `__clone` visibility on Extension class.
@@ -739,7 +730,7 @@ Remember to always make a backup of your database and files before updating!
739
  * Fix - Correct a few incorrect and/or typoed text domains [TEC-3390]
740
  * Fix - Ensure we pass search keywords when changing views and in the top-bar nav [TEC-3282]
741
  * Fix - Prevent Blocks editor from throwing browser alert when leaving the page without any changes applied to the edited post.
742
- * Fix - Several strings have been adjusted for consistency and better translatability [TEC-3417]
743
  * Hook - Add the `tribe_events_blocks_editor_is_on` filter; returning a falsy value from this filter will prevent the Blocks Editor to ever be active on Events; else the settings from Events > Settings will apply [TEC-3349]
744
  * Tweak - Add some filters for better control of link targets, standardize the way we create those links [TEC-3402]
745
  * Language - 4 new strings added, 286 updated, 1 fuzzied, and 2 obsoleted
@@ -756,7 +747,7 @@ Remember to always make a backup of your database and files before updating!
756
  * Tweak - Remove "(beta)" label from URL source type of import. [TEC-3289]
757
  * Tweak - Reword the Filter Activation setting's labels for better clarity. [FBAR-79]
758
  * Fix - Ensure that any values for `liveFilterUpdate` that are not `automatic` or `manual` get converted. [FBAR-83]
759
- * Fix - Breakpoint code compatibility with the latest version of jQuery 3.4.1 [TEC-3251]
760
  * Fix - Remove numbers from listed events in event list widget for Genesis theme. [TEC-2957]
761
  * Fix - Customizer accent color affects featured line and text. [TEC-3277]
762
  * Fix - Resolve conflict between datepicker holding consistent size when navigating and flexibility on small screen sizes. [TEC-3322]
1
  === The Events Calendar ===
2
 
3
+ Contributors: theeventscalendar, borkweb, bordoni, brianjessee, aguseo, camwynsp, GeoffBel, jentheo, leahkoerper, lucatume, neillmcshea, paulskim, vicskf, zbtirrell, juanfra
4
  Tags: events, calendar, event, schedule, organizer
5
  Donate link: https://evnt.is/29
6
  Requires at least: 5.6
7
+ Stable tag: 5.15.0
8
  Tested up to: 5.9.3
9
  Requires PHP: 7.1
10
  License: GPLv2 or later
223
 
224
  == Changelog ==
225
 
226
+ = [5.15.0] 2022-05-19 =
227
 
228
+ * Version - The Events Calendar 5.15.0 is only compatible with Event Tickets 5.4.0 and higher
229
+ * Version - The Events Calendar 5.15.0 is only compatible with Events Calendar PRO 5.14.0 and higher
230
+ * Version - The Events Calendar 5.15.0 is only compatible with Events Filterbar 5.3.0 and higher
231
+ * Version - The Events Calendar 5.15.0 is only compatible with Events Virtual 1.10.0 and higher
232
+ * Version - The Events Calendar 5.15.0 is only compatible with Events Community 4.9.0 and higher
233
+ * Version - The Events Calendar 5.15.0 is only compatible with Eventbrite Tickets 4.6.11 and higher
234
+ * Feature - Update Events menu to work with the new admin pages structure. [ET-1335]
235
+ * Language - 1 new strings added, 395 updated, 2 fuzzied, and 3 obsoleted
 
 
 
 
 
 
 
 
 
236
 
237
  = [5.14.1] 2022-03-17 =
238
 
339
 
340
  * Feature - Add new subscribe options to the "Export Events" link at the bottom of calendar views and single Event view [TEC-4131]
341
  * Fix - Bypass caching of the event when dealing with the admin event list table. [TEC-4156]
342
+ * Fix - Event List Widget will not print the H3 tag related to the title when that is empty. [BTRIA-1075]
343
+ * Tweak - Allow bypassing of the Aggregator logging function by using the `tec_aggregator_records_should_log_error` filter. [BTRIA-1074]
344
  * Tweak - Removed the `tribe_events_force_filtered_ical_link` filter and the associated js function that recreates the subscribe link on v1 and Single Event views. [TEC-4131]
345
  * Language - 4 new strings added, 52 updated, 0 fuzzied, and 2 obsoleted
346
 
484
  = [5.6.0] 2021-04-29 =
485
 
486
  * Version - The Events Calendar 5.6.0 is only compatible with Events Calendar PRO 5.6.0 and higher
487
+ * Fix - Correct implementation of filters in Views/V2/Hooks.php to avoid fatals. [BTRIA-791]
488
  * Fix - Ensure when saving on Blocks editor Organizer and Venue IDs don't throw notices for failed deletion. [TEC-3844]
489
  * Fix - Resolve compatibility problem between The Events Calendar and other plugins using Select2. [TEC-3748]
490
  * Fix - Enqueue full styles for v2 event single only when using full styles. [TEC-3848]
521
 
522
  = [5.4.0.1] 2021-03-04 =
523
 
524
+ * Fix - Prevent fatals happening with PHP 5.6 due to duplicated class for templates [BTRIA-767]
525
 
526
  = [5.4.0] 2021-02-24 =
527
 
547
  * Feature - Add customizer support for custom location pins on single events when Views V2 is active. [TEC-3276]
548
  * Fix - Use dynamic label for fast-forward link on the month view. [TEC-3452]
549
  * Fix - Correctly filter `locale` in the `Tribe\Events\I18n` class to avoid errors.
550
+ * Fix - Prevent heartbeat warning when null data param is passed on Cron and AJAX requests [BTRIA-687]
551
  * Fix - Increase the minimum width of the datetime dropdown when editing an event with the block editor. [TEC-3126]
552
  * Fix - Ordering with an Array when using `Tribe__Repository` now properly ignores the global order passed as the default. [ECP-598]
553
  * Fix - Resolve PHP 8.0 incompatibility with `__wakeup` and `__clone` visibility on Extension class.
730
  * Fix - Correct a few incorrect and/or typoed text domains [TEC-3390]
731
  * Fix - Ensure we pass search keywords when changing views and in the top-bar nav [TEC-3282]
732
  * Fix - Prevent Blocks editor from throwing browser alert when leaving the page without any changes applied to the edited post.
733
+ * Fix - Several strings have been adjusted for consistency and better translatability [BTRIA-307]
734
  * Hook - Add the `tribe_events_blocks_editor_is_on` filter; returning a falsy value from this filter will prevent the Blocks Editor to ever be active on Events; else the settings from Events > Settings will apply [TEC-3349]
735
  * Tweak - Add some filters for better control of link targets, standardize the way we create those links [TEC-3402]
736
  * Language - 4 new strings added, 286 updated, 1 fuzzied, and 2 obsoleted
747
  * Tweak - Remove "(beta)" label from URL source type of import. [TEC-3289]
748
  * Tweak - Reword the Filter Activation setting's labels for better clarity. [FBAR-79]
749
  * Fix - Ensure that any values for `liveFilterUpdate` that are not `automatic` or `manual` get converted. [FBAR-83]
750
+ * Fix - Breakpoint code compatibility with the latest version of jQuery 3.4.1 [BTRIA-154]
751
  * Fix - Remove numbers from listed events in event list widget for Genesis theme. [TEC-2957]
752
  * Fix - Customizer accent color affects featured line and text. [TEC-3277]
753
  * Fix - Resolve conflict between datepicker holding consistent size when navigating and flexibility on small screen sizes. [TEC-3322]
src/Events/Editor/Full_Site/Hooks.php DELETED
@@ -1,137 +0,0 @@
1
- <?php
2
-
3
- namespace TEC\Events\Editor\Full_Site;
4
-
5
- use Tribe\Events\Editor\Blocks\Archive_Events;
6
-
7
- /**
8
- * Class Hooks
9
- *
10
- * @since 5.14.2
11
- *
12
- * @package TEC\Events\Editor\Full_Site
13
- */
14
- class Hooks extends \tad_DI52_ServiceProvider {
15
-
16
- /**
17
- * Binds and sets up implementations.
18
- *
19
- * @since 5.14.2
20
- */
21
- public function register() {
22
- $this->add_filters();
23
- $this->add_actions();
24
- }
25
-
26
- /**
27
- * Adds the filters required by the FSE components.
28
- *
29
- * @since 5.14.2
30
- */
31
- protected function add_filters() {
32
- add_filter( 'get_block_templates', [ $this, 'filter_include_templates' ], 25, 3 );
33
- add_filter( 'tribe_get_option_tribeEventsTemplate', [ $this, 'filter_events_template_setting_option' ] );
34
- add_filter( 'tribe_get_single_option', [ $this, 'filter_tribe_get_single_option' ], 10, 3 );
35
- add_filter( 'tribe_settings_save_option_array', [ $this, 'filter_tribe_save_template_option'], 10, 2 );
36
- }
37
-
38
- /**
39
- * Adds the actions required by the FSE components.
40
- *
41
- * @since 5.14.2
42
- */
43
- protected function add_actions() {
44
- add_action( 'tribe_editor_register_blocks', [ $this, 'action_register_archive_template' ] );
45
- }
46
-
47
- /**
48
- * Registers the Events Archive template.
49
- *
50
- * @since 5.14.2
51
- */
52
- public function action_register_archive_template() {
53
- return $this->container->make( Archive_Events::class )->register();
54
- }
55
-
56
- /**
57
- * Adds the archive template to the array of block templates.
58
- *
59
- * @since 5.14.2
60
- *
61
-
62
- * @param WP_Block_Template[] $query_result Array of found block templates.
63
- * @param array $query {
64
- * Optional. Arguments to retrieve templates.
65
- *
66
- * @type array $slug__in List of slugs to include.
67
- * @type int $wp_id Post ID of customized template.
68
- * }
69
- *
70
- *
71
- * @return array The modified $query.
72
- */
73
- public function filter_include_templates( $query_result, $query, $template_type ) {
74
- // Don't load this template in the admin - so it's not editable by users.
75
- if ( is_admin() ) {
76
- return $query_result;
77
- }
78
-
79
- return $this->container->make( Templates::class )->add_events_archive( $query_result, $query, $template_type );
80
- }
81
-
82
- /**
83
- * If we're using a FSE theme, we always use the full styling.
84
- *
85
- * @since 5.14.2
86
-
87
- *
88
- * @param string $value The value of the option.
89
- * @return string $value The original value, or an empty string if FSE is active.
90
- */
91
- public function filter_events_template_setting_option( $value ) {
92
- return tec_is_full_site_editor() ? '' : $value;
93
- }
94
-
95
-
96
- /**
97
- * Override the get_single_option to return the default event template when FSE is active.
98
- *
99
- * @since 5.14.2
100
- *
101
- * @param mixed $option Results of option query.
102
- * @param string $default The default value.
103
- * @param string $option_name Name of the option.
104
- *
105
- * @return mixed results of option query.
106
- */
107
- public function filter_tribe_get_single_option( $option, $default, $option_name ) {
108
- if ( 'tribeEventsTemplate' !== $option_name ) {
109
- return $option;
110
- }
111
-
112
- if ( tec_is_full_site_editor() ) {
113
- return '';
114
- }
115
-
116
- return $option;
117
- }
118
-
119
- /**
120
- * Overwrite the template option on save if FSE is active.
121
- * We only support the default events template for now.
122
- *
123
- * @since 5.14.2
124
- *
125
- * @param array<string, mixed> $options The array of values to save. In the format option key => value.
126
- * @param string $option_id The main option ID.
127
- *
128
- * @return array<string, mixed> $options The array of values to save. In the format option key => value.
129
- */
130
- public function filter_tribe_save_template_option( $options, $option_id ) {
131
- if ( tec_is_full_site_editor() ) {
132
- $options[ 'tribeEventsTemplate' ] = '';
133
- }
134
-
135
- return $options;
136
- }
137
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/Events/Editor/Full_Site/Provider.php DELETED
@@ -1,101 +0,0 @@
1
- <?php
2
-
3
- namespace TEC\Events\Editor\Full_Site;
4
-
5
- use Tribe\Events\Editor\Blocks\Archive_Events;
6
- use \Tribe__Events__Main as Events_Main;
7
-
8
- /**
9
- * Class Provider
10
- *
11
- * @since 5.14.2
12
- *
13
- * @package TEC\Events\Editor\Full_Site
14
- */
15
- class Provider extends \tad_DI52_ServiceProvider {
16
- /**
17
- * Register the provider singletons.
18
- *
19
- * @since 5.14.2
20
- */
21
- public function register() {
22
- if ( ! tec_is_full_site_editor() ) {
23
- return;
24
- }
25
-
26
- $this->container->singleton( Templates::class );
27
-
28
- // Register singletons.
29
- $this->register_singletons();
30
-
31
- // Register the Service Provider for Hooks.
32
- $this->container->register( Hooks::class );
33
-
34
- // Register the Service Provider for Assets.
35
- $this->register_assets();
36
-
37
- // Register the service provider itself on the container.
38
- $this->container->singleton( static::class, $this );
39
- }
40
-
41
- /**
42
- * Registers any requires singletons.
43
- *
44
- * @since 5.14.2
45
- *
46
- */
47
- private function register_singletons() {
48
- $this->container->singleton( Archive_Events::class, Archive_Events::class, [ 'load' ] );
49
- }
50
-
51
- /**
52
- * Binds and sets up implementations.
53
- *
54
- * @since 5.14.2
55
- */
56
- public function register_assets() {
57
- $plugin = Events_Main::instance();
58
-
59
- tribe_asset(
60
- $plugin,
61
- 'tec-events-full-site',
62
- 'app/full-site.js',
63
- [
64
- 'react',
65
- 'react-dom',
66
- 'wp-components',
67
- 'wp-api',
68
- 'wp-api-request',
69
- 'wp-blocks',
70
- 'wp-i18n',
71
- 'wp-element',
72
- 'wp-editor',
73
- 'tribe-common-gutenberg-data',
74
- 'tribe-common-gutenberg-utils',
75
- 'tribe-common-gutenberg-store',
76
- 'tribe-common-gutenberg-icons',
77
- 'tribe-common-gutenberg-hoc',
78
- 'tribe-common-gutenberg-elements',
79
- 'tribe-common-gutenberg-components',
80
- ],
81
- 'enqueue_block_editor_assets',
82
- [
83
- 'in_footer' => false,
84
- 'localize' => [],
85
- 'conditionals' => [ $this, 'is_full_site_editor' ],
86
- 'priority' => 106,
87
- ]
88
- );
89
- }
90
-
91
- /**
92
- * Internal FSE function for asset conditional testing.
93
- *
94
- * @since 5.14.2
95
- *
96
- * @return boolean Whether The current theme supports full-site editing or not.
97
- */
98
- public function is_full_site_editor() {
99
- return tec_is_full_site_editor();
100
- }
101
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/Events/Editor/Full_Site/Templates.php DELETED
@@ -1,94 +0,0 @@
1
- <?php
2
-
3
- namespace TEC\Events\Editor\Full_Site;
4
-
5
- use Tribe__Events__Main;
6
-
7
- use TEC\Common\Editor\Full_Site\Template_Utils;
8
-
9
- use WP_Block_Template;
10
-
11
- /**
12
- * Class Templates
13
- *
14
- * @since 5.14.2
15
- *
16
- * @package TEC\Events\Editor\Full_Site
17
- */
18
- class Templates {
19
-
20
- /**
21
- * The archive slug.
22
- *
23
- * @since 5.14.2
24
- *
25
- * @var string The archive slug.
26
- */
27
- public static $archive_slug = 'archive-' . Tribe__Events__Main::POSTTYPE;
28
-
29
- /**
30
- * Modify the available Templates so that people can edit the template.
31
- *
32
- * @since 5.14.2
33
- *
34
- * @param WP_Block_Template[] $query_result Array of found block templates.
35
- * @param array $query {
36
- * Optional. Arguments to retrieve templates.
37
- *
38
- * @type array $slug__in List of slugs to include.
39
- * @type int $wp_id Post ID of customized template.
40
- * }
41
- * @param string $template_type wp_template or wp_template_part.
42
- *
43
- * @return array
44
- */
45
- public function add_events_archive( array $query_result, $query, string $template_type ) {
46
- if ( is_admin() ) {
47
- return $query_result;
48
- }
49
-
50
- if ( 'wp_template' !== $template_type ) {
51
- return $query_result;
52
- }
53
-
54
- // If we are not querying for all or the specific one we want we bail.
55
- if (
56
- ! empty( $query['slug__in'] )
57
- && ! in_array( static::$archive_slug, $query['slug__in'], true )
58
- ) {
59
- return $query_result;
60
- }
61
-
62
- $query_result[] = $this->get_template_events_archive();
63
-
64
- return $query_result;
65
- }
66
-
67
- /**
68
- * Returns the constructed template object for the query.
69
- *
70
- * @since 5.14.2
71
- *
72
- * @return WP_Block_Template A reference to the template object for the query.
73
- */
74
- public function get_template_events_archive() {
75
- $template_content = file_get_contents(
76
- dirname( \Tribe__Main::instance()->plugin_path ) . '/src/Events/Editor/Full_Site/Templates/archive-events.html'
77
- );
78
-
79
- $template = new WP_Block_Template();
80
- $template->id = 'the-events-calendar//archive-events';
81
- $template->theme = 'The Events Calendar';
82
- $template->content = Template_Utils::inject_theme_attribute_in_content( $template_content );
83
- $template->slug = static::$archive_slug;
84
- $template->source = 'custom';
85
- $template->theme = 'The Events Calendar';
86
- $template->type = 'wp_template';
87
- $template->title = esc_html__( 'Events Archive', 'the-events-calendar' );
88
- $template->status = 'publish';
89
- $template->has_theme_file = true;
90
- $template->is_custom = true;
91
-
92
- return $template;
93
- }
94
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/Events/Editor/Full_Site/Templates/archive-events.html DELETED
@@ -1,3 +0,0 @@
1
- <!-- wp:template-part {"slug":"header","tagName":"header"} /-->
2
- <!-- wp:tribe/archive-events {} /-->
3
- <!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
 
 
 
src/Tribe/API.php CHANGED
@@ -8,9 +8,6 @@ if ( ! defined( 'ABSPATH' ) ) {
8
  die( '-1' );
9
  }
10
 
11
- use Tribe__Date_Utils as Dates;
12
- use Tribe__Timezones as Timezones;
13
-
14
  if ( ! class_exists( 'Tribe__Events__API' ) ) {
15
  class Tribe__Events__API {
16
  public static $valid_venue_keys = [
@@ -462,16 +459,14 @@ if ( ! class_exists( 'Tribe__Events__API' ) ) {
462
  }
463
 
464
  // sanity check that start date < end date
465
- $timezone = Timezones::build_timezone_object( $data['EventTimezone'] );
466
- $start_timestamp = Dates::build_date_object( $data['EventStartDate'], $timezone )->getTimestamp();
467
- $end_timestamp = Dates::build_date_object( $data['EventEndDate'], $timezone )->getTimestamp();
468
 
469
  if ( $start_timestamp > $end_timestamp ) {
470
  $data['EventEndDate'] = $data['EventStartDate'];
471
- $end_timestamp = Dates::build_date_object( $data['EventStartDate'], $timezone )->getTimestamp();
472
  }
473
 
474
- $data['EventDuration'] = $end_timestamp - $start_timestamp;
475
 
476
  return $data;
477
  }//end prepare_event_date_meta
8
  die( '-1' );
9
  }
10
 
 
 
 
11
  if ( ! class_exists( 'Tribe__Events__API' ) ) {
12
  class Tribe__Events__API {
13
  public static $valid_venue_keys = [
459
  }
460
 
461
  // sanity check that start date < end date
462
+ $start_timestamp = strtotime( $data['EventStartDate'] );
463
+ $end_timestamp = strtotime( $data['EventEndDate'] );
 
464
 
465
  if ( $start_timestamp > $end_timestamp ) {
466
  $data['EventEndDate'] = $data['EventStartDate'];
 
467
  }
468
 
469
+ $data['EventDuration'] = strtotime( $data['EventEndDate'] ) - $start_timestamp;
470
 
471
  return $data;
472
  }//end prepare_event_date_meta
src/Tribe/Admin/Bar/Default_Configurator.php CHANGED
@@ -1,5 +1,6 @@
1
  <?php
2
 
 
3
 
4
  class Tribe__Events__Admin__Bar__Default_Configurator implements Tribe__Events__Admin__Bar__Configurator_Interface {
5
 
@@ -12,10 +13,11 @@ class Tribe__Events__Admin__Bar__Default_Configurator implements Tribe__Events__
12
  */
13
  public function configure( WP_Admin_Bar $wp_admin_bar ) {
14
  $main = Tribe__Events__Main::instance();
 
15
 
16
  $wp_admin_bar->add_menu( [
17
  'id' => 'tribe-events',
18
- 'title' => '<span class="ab-icon dashicons-before dashicons-calendar"></span>' . sprintf( __( '%s', 'the-events-calendar' ), $main->plural_event_label ),
19
  'href' => $main->getLink( 'home' ),
20
  ] );
21
 
@@ -87,7 +89,7 @@ class Tribe__Events__Admin__Bar__Default_Configurator implements Tribe__Events__
87
  $wp_admin_bar->add_menu( [
88
  'id' => 'tribe-events-settings',
89
  'title' => esc_html__( 'Settings', 'the-events-calendar' ),
90
- 'href' => Tribe__Settings::instance()->get_url(),
91
  'parent' => 'tribe-events-settings-group',
92
  ] );
93
  }
1
  <?php
2
 
3
+ use Tribe\Events\Admin\Settings;
4
 
5
  class Tribe__Events__Admin__Bar__Default_Configurator implements Tribe__Events__Admin__Bar__Configurator_Interface {
6
 
13
  */
14
  public function configure( WP_Admin_Bar $wp_admin_bar ) {
15
  $main = Tribe__Events__Main::instance();
16
+ $icon = '<div id="tec-events-ab-icon" class="ab-item tec-events-logo svg"></div>';
17
 
18
  $wp_admin_bar->add_menu( [
19
  'id' => 'tribe-events',
20
+ 'title' => $icon . sprintf( __( '%s', 'the-events-calendar' ), $main->plural_event_label ),
21
  'href' => $main->getLink( 'home' ),
22
  ] );
23
 
89
  $wp_admin_bar->add_menu( [
90
  'id' => 'tribe-events-settings',
91
  'title' => esc_html__( 'Settings', 'the-events-calendar' ),
92
+ 'href' => tribe( Settings::class )->get_url(),
93
  'parent' => 'tribe-events-settings-group',
94
  ] );
95
  }
src/Tribe/Admin/Filter_Bar/Provider.php CHANGED
@@ -1,6 +1,7 @@
1
  <?php
2
  namespace Tribe\Events\Admin\Filter_Bar;
3
 
 
4
  use Tribe__Events__Main;
5
  use Tribe__Settings_Tab;
6
  use Tribe__Admin__Helpers;
@@ -108,8 +109,14 @@ class Provider extends \tad_DI52_ServiceProvider {
108
  * Create a Filter Bar upsell tab.
109
  *
110
  * @since 5.14.0
 
111
  */
112
- public function add_tab() {
 
 
 
 
 
113
 
114
  $tec_events_filter_bar_upsell_tab = [
115
  'filter_bar-upsell-info-box-description' => [
@@ -136,6 +143,14 @@ class Provider extends \tad_DI52_ServiceProvider {
136
  'show_save' => false,
137
  ]
138
  );
 
 
 
 
 
 
 
 
139
  }
140
 
141
  /**
1
  <?php
2
  namespace Tribe\Events\Admin\Filter_Bar;
3
 
4
+ use Tribe\Events\Admin\Settings;
5
  use Tribe__Events__Main;
6
  use Tribe__Settings_Tab;
7
  use Tribe__Admin__Helpers;
109
  * Create a Filter Bar upsell tab.
110
  *
111
  * @since 5.14.0
112
+ * @since 5.15.0 Early bail if we're not on TEC settings.
113
  */
114
+ public function add_tab( $admin_page ) {
115
+ $tec_settings_page_id = tribe( Settings::class )::$settings_page_id;
116
+
117
+ if ( ! empty( $admin_page ) && $tec_settings_page_id !== $admin_page ) {
118
+ return;
119
+ }
120
 
121
  $tec_events_filter_bar_upsell_tab = [
122
  'filter_bar-upsell-info-box-description' => [
143
  'show_save' => false,
144
  ]
145
  );
146
+
147
+ add_filter(
148
+ 'tec_events_settings_tabs_ids',
149
+ function( $tabs ) {
150
+ $tabs[] = 'filter-view';
151
+ return $tabs;
152
+ }
153
+ );
154
  }
155
 
156
  /**
src/Tribe/Admin/Provider.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Tribe\Events\Admin;
3
+
4
+ class Provider extends \tad_DI52_ServiceProvider {
5
+ /**
6
+ * Register implementations.
7
+ *
8
+ * @since 5.15.0
9
+ */
10
+ public function register() {
11
+ tribe_singleton( Settings::class, Settings::class );
12
+
13
+ $this->add_hooks();
14
+ }
15
+
16
+ /**
17
+ * Add hooks.
18
+ *
19
+ * @since 5.15.0
20
+ */
21
+ public function add_hooks() {
22
+ add_action( 'tribe_settings_do_tabs', tribe_callback( Settings::class, 'settings_ui' ) );
23
+ add_action( 'admin_menu', tribe_callback( Settings::class, 'add_admin_pages' ), 11 );
24
+ add_action( 'network_admin_menu', tribe_callback( Settings::class, 'maybe_add_network_settings_page' ) );
25
+ add_action( 'tribe_settings_do_tabs', tribe_callback( Settings::class, 'do_network_settings_tab' ), 400 );
26
+
27
+ add_filter( 'tribe_settings_page_title', tribe_callback( Settings::class, 'settings_page_title' ) );
28
+ add_filter( 'tec_settings_tab_url', tribe_callback( Settings::class, 'filter_settings_tab_url' ), 50, 3 );
29
+ add_filter( 'tec_admin_pages_with_tabs', tribe_callback( Settings::class, 'add_to_pages_with_tabs' ), 20, 1 );
30
+ add_filter( 'tribe_settings_page_url', tribe_callback( Settings::class, 'filter_settings_page_url' ), 50, 3 );
31
+ add_filter( 'tec_admin_footer_text', tribe_callback( Settings::class, 'admin_footer_text_settings' ) );
32
+ add_filter( 'tribe-events-save-network-options', tribe_callback( Settings::class, 'maybe_hijack_save_network_settings' ), 10, 2 );
33
+ add_filter( 'tribe_events_register_event_type_args', tribe_callback( Settings::class, 'filter_event_type_args' ) );
34
+ }
35
+ }
src/Tribe/Admin/Settings.php ADDED
@@ -0,0 +1,510 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Tribe\Events\Admin;
3
+
4
+ /**
5
+ * Manages the admin settings UI in relation to events configuration.
6
+ */
7
+ use Tribe__App_Shop;
8
+ use Tribe__Settings;
9
+ use Tribe__Settings_Tab;
10
+ use Tribe__Events__Main as Plugin;
11
+ use Tribe\Admin\Troubleshooting as Troubleshooting;
12
+
13
+ class Settings {
14
+
15
+ /**
16
+ * The Events Calendar settings page slug.
17
+ *
18
+ * @var string
19
+ */
20
+ public static $settings_page_id = 'tec-events-settings';
21
+
22
+ /**
23
+ * Settings tabs
24
+ */
25
+ public $tabs = [];
26
+
27
+ /**
28
+ * Returns the main admin settings URL.
29
+ *
30
+ * @param array $args Arguments to pass to the URL.
31
+ *
32
+ * @return string The URL to the admin settings page.
33
+ */
34
+ public function get_url( array $args = [] ) {
35
+ $defaults = [
36
+ 'page' => static::$settings_page_id,
37
+ ];
38
+
39
+ if ( ! is_network_admin() ) {
40
+ $defaults['post_type'] = Plugin::POSTTYPE;
41
+ }
42
+
43
+ // Allow the link to be "changed" on the fly.
44
+ $args = wp_parse_args( $args, $defaults );
45
+
46
+ $wp_url = is_network_admin() ? network_admin_url( 'settings.php' ) : admin_url( 'edit.php' );
47
+
48
+ // Keep the resulting URL args clean.
49
+ $url = add_query_arg( $args, $wp_url );
50
+
51
+ /**
52
+ * Filters the admin settings URL.
53
+ *
54
+ * @since 5.15.0
55
+ *
56
+ * @param string $url The admin settings URL.
57
+ */
58
+ return apply_filters( 'tec_events_settings_url', $url );
59
+ }
60
+
61
+ /**
62
+ * Adds The Events Calendar settings page to the pages configuration.
63
+ *
64
+ * @since 5.15.0
65
+ *
66
+ * @param array $pages An array containing the slug of the pages with tabs.
67
+ *
68
+ * @return array $pages The modified array containing the pages with tabs.
69
+ */
70
+ public function add_to_pages_with_tabs( $pages ) {
71
+ $pages[] = static::$settings_page_id;
72
+
73
+ return $pages;
74
+ }
75
+
76
+ /**
77
+ * Filter The Events CAlendar Settings page title
78
+ *
79
+ * @param string $title The title of the settings page.
80
+ *
81
+ * @return string The modified title of the settings page.
82
+ */
83
+ public function settings_page_title( $title ) {
84
+ if ( ! $this->is_tec_events_settings() ) {
85
+ return $title;
86
+ }
87
+
88
+ return sprintf(
89
+ // Translators: %s is the `Events` in plural.
90
+ __( '%s Settings', 'the-events-calendar' ),
91
+ tribe_get_event_label_plural( 'tec_events_settings_title' )
92
+ );
93
+ }
94
+
95
+ /**
96
+ * Defines wether the current page is The Events Calendar Settings page.
97
+ *
98
+ * @since 5.15.0
99
+ *
100
+ * @return boolean Whether the current page is The Events Calendar Settings page.
101
+ */
102
+ public function is_tec_events_settings() {
103
+ $admin_pages = tribe( 'admin.pages' );
104
+ $admin_page = $admin_pages->get_current_page();
105
+
106
+ return ! empty( $admin_page ) && static::$settings_page_id === $admin_page;
107
+ }
108
+
109
+ /**
110
+ * Get the icon for The Events Calendar menu item.
111
+ *
112
+ * @since 5.15.0
113
+ *
114
+ * @return string
115
+ */
116
+ public function get_menu_icon() {
117
+ $icon = 'data:image/svg+xml;base64,' . base64_encode( '<svg xmlns="http://www.w3.org/2000/svg" fill="#9ba2a6" viewBox="0 0 13.24 15.4"><defs><style>.cls-1{fill-rule:evenodd;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M12.89,6.1,11.54,2.2l0-.06A1.85,1.85,0,0,0,9.14,1.06l-.73.26L8,.29v0A.45.45,0,0,0,7.47,0a.43.43,0,0,0-.25.23A.45.45,0,0,0,7.2.6l.37,1L2.75,3.39l-.36-1,0-.05a.44.44,0,0,0-.56-.22.44.44,0,0,0-.26.57l.36,1L1.17,4A1.86,1.86,0,0,0,.11,6.33L3.19,15a.66.66,0,0,0,.61.4.59.59,0,0,0,.23,0L7.4,14.13l0,0,.1,0a5,5,0,0,0,2-2.47c.11-.24.21-.49.31-.77l.27-.72.07-.19a4.3,4.3,0,0,0,2-.39,3.13,3.13,0,0,1-1.72,2.3.43.43,0,0,0-.25.23.45.45,0,0,0,0,.34.42.42,0,0,0,.23.26.45.45,0,0,0,.34,0C13.13,11.87,13.72,8.64,12.89,6.1Zm-.56,1.81a.79.79,0,0,1-.25.58A2.85,2.85,0,0,1,10,9c-.39,0-.51.22-.68.67L9,10.52c-.1.26-.19.49-.29.71a4.32,4.32,0,0,1-1.59,2L3.94,14.44,1.7,8.12l9.74-3.46.63,1.82a5.11,5.11,0,0,1,.26,1.35V7.9Z"/></g></g></svg>' );
118
+
119
+ /**
120
+ * Filter the menu icon for The Events Calendar in the WordPress admin.
121
+ *
122
+ * @since 5.15.0
123
+ *
124
+ * @param string $icon The menu icon for The Events Calendar in the WordPress admin.
125
+ */
126
+ return apply_filters( 'tec_events_menu_icon', $icon );
127
+ }
128
+
129
+ /**
130
+ * Get the slug for The Events Calendar page/menu item.
131
+ *
132
+ * @since 5.15.0
133
+ *
134
+ * @return string $menu_slug The slug for the The Events Calendar page/menu item.
135
+ */
136
+ public function get_tec_events_menu_slug() {
137
+ // If the `tribe_events` post type is not registered, return generic slug.
138
+ if ( ! post_type_exists( Plugin::POSTTYPE ) ) {
139
+ return 'tec-events';
140
+ }
141
+
142
+ $menu_slug = add_query_arg(
143
+ [
144
+ 'post_type' => Plugin::POSTTYPE,
145
+ ],
146
+ 'edit.php'
147
+ );
148
+
149
+ return $menu_slug;
150
+ }
151
+
152
+ /**
153
+ * Adds the menu and pages for The Events Calendar.
154
+ *
155
+ * @since 5.15.0
156
+ */
157
+ public function add_admin_pages() {
158
+ $admin_pages = tribe( 'admin.pages' );
159
+
160
+ $this->maybe_register_events_menu();
161
+
162
+ $admin_pages->register_page(
163
+ [
164
+ 'id' => static::$settings_page_id,
165
+ 'parent' => $this->get_tec_events_menu_slug(),
166
+ 'title' => esc_html__( 'Settings', 'tribe-common' ),
167
+ 'path' => static::$settings_page_id,
168
+ 'callback' => [
169
+ tribe( 'settings' ),
170
+ 'generatePage',
171
+ ],
172
+ ]
173
+ );
174
+
175
+ $admin_pages->register_page(
176
+ [
177
+ 'id' => 'tec-events-help',
178
+ 'parent' => $this->get_tec_events_menu_slug(),
179
+ 'title' => esc_html__( 'Help', 'the-events-calendar' ),
180
+ 'path' => 'tec-events-help',
181
+ 'callback' => [
182
+ tribe( 'settings.manager' ),
183
+ 'do_help_tab',
184
+ ],
185
+ ]
186
+ );
187
+
188
+ $this->maybe_add_troubleshooting();
189
+ $this->maybe_add_app_shop();
190
+ }
191
+
192
+ /**
193
+ * Maybe add network settings page for The Events Calendar.
194
+ *
195
+ * @since 5.15.0
196
+ */
197
+ public function maybe_add_network_settings_page() {
198
+ $admin_pages = tribe( 'admin.pages' );
199
+ $settings = Tribe__Settings::instance();
200
+
201
+ if ( ! is_plugin_active_for_network( 'the-events-calendar/the-events-calendar.php' ) ) {
202
+ return;
203
+ }
204
+
205
+ $admin_pages->register_page(
206
+ [
207
+ 'id' => static::$settings_page_id,
208
+ 'parent' => 'settings.php',
209
+ 'title' => esc_html__( 'Event Settings', 'the-events-calendar' ),
210
+ 'path' => static::$settings_page_id,
211
+ 'capability' => $admin_pages->get_capability( 'manage_network_options' ),
212
+ 'callback' => [
213
+ $settings,
214
+ 'generatePage',
215
+ ],
216
+ ]
217
+ );
218
+ }
219
+
220
+ /**
221
+ * Maybe add troubleshooting page for The Events Calendar
222
+ *
223
+ * @since 5.15.0
224
+ */
225
+ public function maybe_add_troubleshooting() {
226
+ $admin_pages = tribe( 'admin.pages' );
227
+
228
+ if ( ! tribe( 'settings' )->should_setup_pages() ) {
229
+ return;
230
+ }
231
+
232
+ $troubleshooting = tribe( Troubleshooting::class );
233
+
234
+ $admin_pages->register_page(
235
+ [
236
+ 'id' => $troubleshooting::MENU_SLUG,
237
+ 'parent' => $this->get_tec_events_menu_slug(),
238
+ 'title' => esc_html__( 'Troubleshooting', 'the-events-calendar' ),
239
+ 'path' => $troubleshooting::MENU_SLUG,
240
+ 'capability' => $troubleshooting->get_required_capability(),
241
+ 'callback' => [
242
+ $troubleshooting,
243
+ 'do_menu_page',
244
+ ],
245
+ ]
246
+ );
247
+ }
248
+
249
+ /**
250
+ * Maybe add troubleshooting page for The Events Calendar
251
+ *
252
+ * @since 5.15.0
253
+ */
254
+ public function maybe_add_app_shop() {
255
+ $admin_pages = tribe( 'admin.pages' );
256
+
257
+ if ( ! tribe( 'settings' )->should_setup_pages() ) {
258
+ return;
259
+ }
260
+
261
+ $app_shop = tribe( Tribe__App_Shop::class );
262
+
263
+ $admin_pages->register_page(
264
+ [
265
+ 'id' => $app_shop::MENU_SLUG,
266
+ 'parent' => $this->get_tec_events_menu_slug(),
267
+ 'title' => esc_html__( 'Event Add-Ons', 'event-tickets' ),
268
+ 'path' => $app_shop::MENU_SLUG,
269
+ 'capability' => 'install_plugins',
270
+ 'callback' => [
271
+ $app_shop,
272
+ 'do_menu_page',
273
+ ],
274
+ ]
275
+ );
276
+ }
277
+
278
+ /**
279
+ * Filters the settings tab URL.
280
+ *
281
+ * @since 5.15.0
282
+ *
283
+ * @param string $url The URL of the settings tab.
284
+ * @param string $page The slug of the page.
285
+ * @param string $tab The slug of the settings tab.
286
+ *
287
+ * @return string $url The modified URL of the tab.
288
+ */
289
+ public function filter_settings_tab_url( $url, $page, $tab ) {
290
+ // Bail if `tribe_events` doesn't exist.
291
+ if ( ! post_type_exists( Plugin::POSTTYPE ) ) {
292
+ return $url;
293
+ }
294
+
295
+ if ( static::$settings_page_id !== $page ) {
296
+ return $url;
297
+ }
298
+
299
+ $current_page = is_network_admin() ? network_admin_url( 'settings.php' ) : admin_url( 'edit.php' );
300
+ $url = add_query_arg(
301
+ [
302
+ 'post_type' => Plugin::POSTTYPE,
303
+ 'page' => $page,
304
+ 'tab' => $tab,
305
+ ],
306
+ $current_page
307
+ );
308
+
309
+ return $url;
310
+ }
311
+
312
+ /**
313
+ * Filters the settings page URL.
314
+ *
315
+ * @since 5.15.0
316
+ *
317
+ * @param string $url The URL of the settings page.
318
+ * @param string $page The slug of the page.
319
+ * @param string $tab The slug of the settings tab.
320
+ *
321
+ * @return string $url The modified URL of the settings.
322
+ */
323
+ public function filter_settings_page_url( $url, $page, $tab ) {
324
+ // Bail if `tribe_events` doesn't exist or if we're on the network settings page.
325
+ if ( ! post_type_exists( Plugin::POSTTYPE ) || is_network_admin() ) {
326
+ return $url;
327
+ }
328
+
329
+ if ( static::$settings_page_id !== $page ) {
330
+ return $url;
331
+ }
332
+
333
+ $current_page = admin_url( 'edit.php' );
334
+ $url = add_query_arg(
335
+ [
336
+ 'post_type' => Plugin::POSTTYPE,
337
+ 'page' => $page,
338
+ 'tab' => $tab,
339
+ ],
340
+ $current_page
341
+ );
342
+
343
+ return $url;
344
+ }
345
+
346
+ /**
347
+ * Maybe register the events menu.
348
+ *
349
+ * @return void
350
+ */
351
+ public function maybe_register_events_menu() {
352
+ // Bail if the `tribe_events` post type exists.
353
+ if ( post_type_exists( Plugin::POSTTYPE ) ) {
354
+ return;
355
+ }
356
+
357
+ $admin_pages = tribe( 'admin.pages' );
358
+
359
+ $admin_pages->register_page(
360
+ [
361
+ 'id' => 'tec-events',
362
+ 'path' => $this->get_tec_events_menu_slug(),
363
+ 'title' => tribe_get_event_label_plural( 'tec_events_settings_menu' ),
364
+ 'icon' => $this->get_menu_icon(),
365
+ 'position' => 6,
366
+ ]
367
+ );
368
+ }
369
+
370
+ /**
371
+ * Do the basic main settings page.
372
+ *
373
+ * @since 5.15.0
374
+ *
375
+ * @param string $admin_page The slug of the admin page.
376
+ */
377
+ public function settings_ui( $admin_page ) {
378
+ if ( ! empty( $admin_page ) && self::$settings_page_id !== $admin_page ) {
379
+ return;
380
+ }
381
+
382
+ include_once \Tribe__Main::instance()->plugin_path . 'src/admin-views/tribe-options-general.php';
383
+ include_once \Tribe__Main::instance()->plugin_path . 'src/admin-views/tribe-options-display.php';
384
+ include_once tribe( 'tec.main' )->plugin_path . 'src/admin-views/tribe-options-general.php';
385
+ include_once tribe( 'tec.main' )->plugin_path . 'src/admin-views/tribe-options-display.php';
386
+
387
+ $this->tabs['general'] = new Tribe__Settings_Tab( 'general', esc_html__( 'General', 'tribe-common' ), $generalTab );
388
+ $this->tabs['display'] = new Tribe__Settings_Tab( 'display', esc_html__( 'Display', 'tribe-common' ), $displayTab );
389
+ }
390
+
391
+ /**
392
+ * Generate network settings page for The Events Calendar.
393
+ *
394
+ * @since 5.15.0
395
+ *
396
+ * @param string $admin_page The slug of the admin page.
397
+ */
398
+ public function do_network_settings_tab( $admin_page ) {
399
+ if ( ! empty( $admin_page ) && self::$settings_page_id !== $admin_page ) {
400
+ return;
401
+ }
402
+
403
+ include_once tribe( 'tec.main' )->plugin_path . 'src/admin-views/tribe-options-network.php';
404
+
405
+ $this->tabs['network'] = new Tribe__Settings_Tab( 'network', esc_html__( 'Network', 'the-events-calendar' ), $networkTab );
406
+ }
407
+
408
+ /**
409
+ * Add The Events Calendar admin footer text.
410
+ *
411
+ * @since 5.15.0
412
+ *
413
+ * @param string $footer_text The admin footer text.
414
+ * @return string $footer_text The admin footer text, maybe modified.
415
+ */
416
+ public function admin_footer_text_settings( $footer_text ) {
417
+ $admin_pages = tribe( 'admin.pages' );
418
+ $admin_page = $admin_pages->get_current_page();
419
+
420
+ if ( ! empty( $admin_page ) && static::$settings_page_id !== $admin_page ) {
421
+ return $footer_text;
422
+ }
423
+
424
+ // Translators: %1$s: Opening `<a>` to The Events Calendar rating page. %2$s: Closing `</a>` tag. %3$s: Five stars.
425
+ $review_text = esc_html__( 'Rate %1$sThe Events Calendar%2$s %3$s', 'the-events-calendar' );
426
+ $review_url = 'https://wordpress.org/support/plugin/the-events-calendar/reviews/?filter=5';
427
+
428
+ $footer_text = sprintf(
429
+ $review_text,
430
+ '<strong>',
431
+ '</strong>',
432
+ '<a href="' . $review_url . '" target="_blank" rel="noopener noreferrer" class="tribe-rating">&#9733;&#9733;&#9733;&#9733;&#9733;</a>'
433
+ );
434
+
435
+ return $footer_text;
436
+ }
437
+
438
+ /**
439
+ * Get Events settings tab IDs.
440
+ *
441
+ * @since 5.15.0
442
+ *
443
+ * @return array $tabs Array of tabs IDs for the Events settings page.
444
+ */
445
+ public function get_events_settings_tabs_ids() {
446
+ $tabs = [
447
+ 'general',
448
+ 'display',
449
+ 'addons',
450
+ 'imports',
451
+ ];
452
+
453
+ /**
454
+ * Filters the events settings tab IDs.
455
+ *
456
+ * @since 5.15.0
457
+ *
458
+ * @param array $tabs Array of tabs IDs for the Events settings page.
459
+ */
460
+ return apply_filters( 'tec_events_settings_tabs_ids', $tabs );
461
+ }
462
+
463
+ /**
464
+ * Maybe hijack the saving for the network settings page, when not in TEC network settings.
465
+ * The purpose is to merge the settings between plugins.
466
+ *
467
+ * @since 5.15.0
468
+ *
469
+ * @param array $options Formatted the same as from get_options().
470
+ * @param string $admin_page The admin page being saved.
471
+ *
472
+ * @return array $options Formatted the same as from get_options(), maybe modified.
473
+ */
474
+ public function maybe_hijack_save_network_settings( $options, $admin_page ) {
475
+ // If we're saving the network settings page for TEC, bail.
476
+ if ( ! empty( $admin_page ) && static::$settings_page_id == $admin_page ) {
477
+ return $options;
478
+ }
479
+
480
+ if ( ! is_plugin_active_for_network( 'the-events-calendar/the-events-calendar.php' ) ) {
481
+ return $options;
482
+ }
483
+
484
+ $tec_tabs = $this->get_events_settings_tabs_ids();
485
+ $form_options['hideSettingsTabs'] = $_POST['hideSettingsTabs'];
486
+
487
+ // Iterate over the TEC settings tab ids and merge the network settings.
488
+ foreach ( $tec_tabs as $tab => $key ) {
489
+ if ( in_array( $key, $options['hideSettingsTabs'] ) ) {
490
+ $_POST['hideSettingsTabs'][] = $key;
491
+ $form_options['hideSettingsTabs'][] = $key;
492
+ }
493
+ }
494
+
495
+ return $form_options;
496
+ }
497
+
498
+ /**
499
+ * Filter the event type args to add the menu icon.
500
+ *
501
+ * @since 5.15.0
502
+ *
503
+ * @param array $args The default arguments for the event type.
504
+ */
505
+ public function filter_event_type_args( $args ) {
506
+ $args['menu_icon'] = $this->get_menu_icon();
507
+
508
+ return $args;
509
+ }
510
+ }
src/Tribe/Aggregator.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
  // Don't load directly
 
 
 
3
  defined( 'WPINC' ) or die;
4
 
5
  class Tribe__Events__Aggregator {
@@ -619,7 +622,7 @@ class Tribe__Events__Aggregator {
619
  </p>
620
  <p>
621
  <a
622
- href="<?php echo esc_url( Tribe__Settings::instance()->get_url( [ 'tab' => 'addons' ] ) ); ?>"
623
  class="tribe-license-link"
624
  >
625
  <?php esc_html_e( 'Renew your Event Aggregator Facebook token', 'the-events-calendar' ); ?>
1
  <?php
2
  // Don't load directly
3
+
4
+ use Tribe\Events\Admin\Settings;
5
+
6
  defined( 'WPINC' ) or die;
7
 
8
  class Tribe__Events__Aggregator {
622
  </p>
623
  <p>
624
  <a
625
+ href="<?php echo esc_url( tribe( Settings::class )->get_url( [ 'tab' => 'addons' ] ) ); ?>"
626
  class="tribe-license-link"
627
  >
628
  <?php esc_html_e( 'Renew your Event Aggregator Facebook token', 'the-events-calendar' ); ?>
src/Tribe/Aggregator/Meta_Box.php CHANGED
@@ -1,5 +1,7 @@
1
  <?php
2
 
 
 
3
  class Tribe__Events__Aggregator__Meta_Box {
4
  /**
5
  * @var Tribe__Events__Aggregator Event Aggregator bootstrap class
@@ -67,7 +69,7 @@ class Tribe__Events__Aggregator__Meta_Box {
67
  $origin = $aggregator->api( 'origins' )->get_name( $origin );
68
  $datepicker_format = Tribe__Date_Utils::datepicker_formats( tribe_get_option( 'datepickerFormat' ) );
69
  $last_import = $last_import ? tribe_format_date( $last_import, true, $datepicker_format . ' h:i a' ) : null;
70
- $settings_link = Tribe__Settings::instance()->get_url( array( 'tab' => 'imports' ) );
71
  $import_setting = tribe_get_option( 'tribe_aggregator_default_update_authority', Tribe__Events__Aggregator__Settings::$default_update_authority );
72
 
73
  include Tribe__Events__Main::instance()->plugin_path . 'src/admin-views/aggregator/meta-box.php';
1
  <?php
2
 
3
+ use Tribe\Events\Admin\Settings;
4
+
5
  class Tribe__Events__Aggregator__Meta_Box {
6
  /**
7
  * @var Tribe__Events__Aggregator Event Aggregator bootstrap class
69
  $origin = $aggregator->api( 'origins' )->get_name( $origin );
70
  $datepicker_format = Tribe__Date_Utils::datepicker_formats( tribe_get_option( 'datepickerFormat' ) );
71
  $last_import = $last_import ? tribe_format_date( $last_import, true, $datepicker_format . ' h:i a' ) : null;
72
+ $settings_link = tribe( Settings::class )->get_url( [ 'tab' => 'imports' ] );
73
  $import_setting = tribe_get_option( 'tribe_aggregator_default_update_authority', Tribe__Events__Aggregator__Settings::$default_update_authority );
74
 
75
  include Tribe__Events__Main::instance()->plugin_path . 'src/admin-views/aggregator/meta-box.php';
src/Tribe/Aggregator/Settings.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
  // Don't load directly
 
 
 
3
  defined( 'WPINC' ) or die;
4
 
5
  class Tribe__Events__Aggregator__Settings {
@@ -63,7 +66,7 @@ class Tribe__Events__Aggregator__Settings {
63
  $this->clear_eb_credentials();
64
 
65
  wp_redirect(
66
- Tribe__Settings::instance()->get_url( [ 'tab' => 'addons' ] )
67
  );
68
  die;
69
  }
@@ -202,7 +205,7 @@ class Tribe__Events__Aggregator__Settings {
202
  $this->clear_meetup_credentials();
203
 
204
  wp_redirect(
205
- Tribe__Settings::instance()->get_url( [ 'tab' => 'addons' ] )
206
  );
207
  die;
208
  }
@@ -325,8 +328,14 @@ class Tribe__Events__Aggregator__Settings {
325
  return true;
326
  }
327
 
328
- public function do_import_settings_tab() {
329
- include_once Tribe__Events__Main::instance()->plugin_path . 'src/admin-views/aggregator/settings.php';
 
 
 
 
 
 
330
  }
331
 
332
  public function get_all_default_settings() {
@@ -762,7 +771,7 @@ class Tribe__Events__Aggregator__Settings {
762
  $this->clear_fb_credentials();
763
 
764
  wp_redirect(
765
- Tribe__Settings::instance()->get_url( [ 'tab' => 'addons' ] )
766
  );
767
  die;
768
  }
1
  <?php
2
  // Don't load directly
3
+
4
+ use Tribe\Events\Admin\Settings;
5
+
6
  defined( 'WPINC' ) or die;
7
 
8
  class Tribe__Events__Aggregator__Settings {
66
  $this->clear_eb_credentials();
67
 
68
  wp_redirect(
69
+ tribe( Settings::class )->get_url( [ 'tab' => 'addons' ] )
70
  );
71
  die;
72
  }
205
  $this->clear_meetup_credentials();
206
 
207
  wp_redirect(
208
+ tribe( Settings::class )->get_url( [ 'tab' => 'addons' ] )
209
  );
210
  die;
211
  }
328
  return true;
329
  }
330
 
331
+ public function do_import_settings_tab( $admin_page ) {
332
+ $tec_settings_page_id = tribe( Settings::class )::$settings_page_id;
333
+
334
+ if ( ! empty( $admin_page ) && $tec_settings_page_id !== $admin_page ) {
335
+ return;
336
+ }
337
+
338
+ include_once tribe( 'tec.main' )->plugin_path . 'src/admin-views/aggregator/settings.php';
339
  }
340
 
341
  public function get_all_default_settings() {
771
  $this->clear_fb_credentials();
772
 
773
  wp_redirect(
774
+ tribe( Settings::class )->get_url( [ 'tab' => 'addons' ] )
775
  );
776
  die;
777
  }
src/Tribe/Aggregator/Tabs/New.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
  // Don't load directly
 
 
 
3
  defined( 'WPINC' ) or die;
4
 
5
  class Tribe__Events__Aggregator__Tabs__New extends Tribe__Events__Aggregator__Tabs__Abstract {
@@ -649,7 +652,7 @@ class Tribe__Events__Aggregator__Tabs__New extends Tribe__Events__Aggregator__Ta
649
 
650
  $url_map = array(
651
  'new' => Tribe__Events__Aggregator__Page::instance()->get_url( array( 'tab' => $this->get_slug(), 'ea-auth' => 'facebook' ) ),
652
- 'settings' => Tribe__Settings::instance()->get_url( array( 'tab' => 'addons', 'ea-auth' => 'facebook' ) ),
653
  );
654
 
655
  if ( ! isset( $url_map[ $type ] ) ) {
1
  <?php
2
  // Don't load directly
3
+
4
+ use Tribe\Events\Admin\Settings;
5
+
6
  defined( 'WPINC' ) or die;
7
 
8
  class Tribe__Events__Aggregator__Tabs__New extends Tribe__Events__Aggregator__Tabs__Abstract {
652
 
653
  $url_map = array(
654
  'new' => Tribe__Events__Aggregator__Page::instance()->get_url( array( 'tab' => $this->get_slug(), 'ea-auth' => 'facebook' ) ),
655
+ 'settings' => tribe( Settings::class )->get_url( array( 'tab' => 'addons', 'ea-auth' => 'facebook' ) ),
656
  );
657
 
658
  if ( ! isset( $url_map[ $type ] ) ) {
src/Tribe/Aggregator/Tabs/Scheduled.php CHANGED
@@ -2,6 +2,8 @@
2
  // Don't load directly
3
  defined( 'WPINC' ) or die;
4
 
 
 
5
  class Tribe__Events__Aggregator__Tabs__Scheduled extends Tribe__Events__Aggregator__Tabs__Abstract {
6
  /**
7
  * Static Singleton Holder
@@ -372,14 +374,17 @@ class Tribe__Events__Aggregator__Tabs__Scheduled extends Tribe__Events__Aggregat
372
  </strong>
373
  </p>
374
  <p>
375
- <?php printf(
376
- esc_html__( 'To continue using scheduled imports, please enter a valid Event Aggregator license key under %1$sEvents > Settings > Licenses%2$s.', 'the-events-calendar' ),
377
- '<a href="' . esc_url( admin_url( Tribe__Settings::$parent_page . '&page=tribe-common&tab=licenses' ) ) . '">',
378
- '</a>'
379
- ); ?>
 
 
 
380
  </p>
381
  <p>
382
- <a href="<?php echo esc_url( admin_url( Tribe__Settings::$parent_page . '&page=tribe-common&tab=licenses' ) ); ?>" class="tribe-license-link tribe-button tribe-button-primary"><?php esc_html_e( 'Enter Event Aggregator License', 'the-events-calendar' ); ?></a>
383
  </p>
384
  </div>
385
  <?php
2
  // Don't load directly
3
  defined( 'WPINC' ) or die;
4
 
5
+ use Tribe\Events\Admin\Settings as Plugin_Settings;
6
+
7
  class Tribe__Events__Aggregator__Tabs__Scheduled extends Tribe__Events__Aggregator__Tabs__Abstract {
8
  /**
9
  * Static Singleton Holder
374
  </strong>
375
  </p>
376
  <p>
377
+ <?php
378
+ printf(
379
+ // Translators: %1$s: opening link tag, %2$s: closing link tag.
380
+ esc_html__( 'To continue using scheduled imports, please enter a valid Event Aggregator license key under %1$sEvents > Settings > Licenses%2$s.', 'the-events-calendar' ),
381
+ '<a href="' . esc_url( tribe( Plugin_Settings::class )->get_url( [ 'tab' => 'licenses' ] ) ) . '">',
382
+ '</a>'
383
+ );
384
+ ?>
385
  </p>
386
  <p>
387
+ <a href="<?php echo esc_url( tribe( Plugin_Settings::class )->get_url( [ 'tab' => 'licenses' ] ) ); ?>" class="tribe-license-link tribe-button tribe-button-primary"><?php esc_html_e( 'Enter Event Aggregator License', 'the-events-calendar' ); ?></a>
388
  </p>
389
  </div>
390
  <?php
src/Tribe/Amalgamator.php CHANGED
@@ -2,6 +2,8 @@
2
  /**
3
  * Merge pre-3.0 duplicate venues and organizers
4
  */
 
 
5
  class Tribe__Events__Amalgamator {
6
  private $default_venue = 0;
7
  private $default_community_venue = 0;
@@ -27,31 +29,8 @@ class Tribe__Events__Amalgamator {
27
  *
28
  */
29
  public function merge_duplicates() {
30
- /**
31
- * Whether duplicate organizers should be merged.
32
- *
33
- * @since 5.14.2
34
- *
35
- * @param boolean $merge_organizers Whether duplicate organizers should be merged, default true.
36
- */
37
- $merge_organizers = (bool) apply_filters( 'tribe_merge_identical_organizers_enabled', true );
38
-
39
- if ( tribe_is_truthy( $merge_organizers ) ) {
40
- $this->merge_identical_organizers();
41
- }
42
-
43
- /**
44
- * Whether duplicate venues should be merged.
45
- *
46
- * @since 5.14.2
47
- *
48
- * @param boolean $merge_venues Whether duplicate venues should be merged, default true.
49
- */
50
- $merge_venues = (bool) apply_filters( 'tribe_merge_identical_venues_enabled', true );
51
-
52
- if ( tribe_is_truthy( $merge_venues ) ) {
53
- $this->merge_identical_venues();
54
- }
55
 
56
  $events = Tribe__Events__Main::instance();
57
  wp_cache_flush();
@@ -79,16 +58,6 @@ class Tribe__Events__Amalgamator {
79
  '_OrganizerEmail' => get_post_meta( $id, '_OrganizerEmail', true ),
80
  ];
81
 
82
- /**
83
- * Filter the fields that should be used for comparison when checking for duplicates.
84
- *
85
- * @since 5.14.2
86
- *
87
- * @param array<string|string> $data The array of fields with values to be checked.
88
- * @param integer $id The post id of the organizer being merged.
89
- */
90
- $data = apply_filters( 'tribe_merge_identical_organizers_fields', $data, $id );
91
-
92
  $hash = md5( serialize( $data ) );
93
 
94
  if ( ! isset( $buckets[ $hash ] ) ) {
@@ -137,15 +106,6 @@ class Tribe__Events__Amalgamator {
137
  '_VenueURL' => get_post_meta( $id, '_VenueURL', true ),
138
  ];
139
 
140
- /**
141
- * Filter the fields that should be used for comparison when checking for duplicates.
142
- *
143
- * @since 5.14.2
144
- *
145
- * @param array $data The array of fields with values to be checked.
146
- */
147
- $data = apply_filters( 'tribe_merge_identical_venues_fields', $data );
148
-
149
  $hash = md5( serialize( $data ) );
150
 
151
  if ( ! isset( $buckets[ $hash ] ) ) {
@@ -203,96 +163,20 @@ class Tribe__Events__Amalgamator {
203
  /**
204
  * Merge all venues in the given list into one post (keeping the first)
205
  *
206
- * @since 5.14.2 - Change to public method.
207
  *
208
- * @param array<string|integer> $venue_ids An Array of venue ids to merge.
209
  */
210
- public function amalgamate_venues( $venue_ids ) {
211
  if ( empty( $venue_ids ) || count( $venue_ids ) < 2 ) {
212
  return;
213
  }
214
-
215
- $venue_ids = array_map( function ( $item ) {
216
- return intval( absint( $item ) );
217
- }, $venue_ids );
218
-
219
- // Sort the array to get the lowest post id.
220
- sort( $venue_ids );
221
-
222
- /**
223
- * Filter the venue ids that should be kept.
224
- *
225
- * @since 5.14.2
226
- *
227
- * @param array<string|integer> An Array of the post ids to keep or an empty array.
228
- * @param array<string|integer> $venue_ids An Array of venue ids to merge.
229
- */
230
- $keep = (array) apply_filters( 'tribe_amalgamate_venues_keep_venue', [], $venue_ids );
231
-
232
- // If not an array or empty, run the default venues amalgamate.
233
- if ( ! is_array( $keep ) || empty( $keep ) ) {
234
- $this->run_amalgamate_venues( $venue_ids, [] );
235
-
236
- return;
237
- }
238
-
239
- // Check if any of the venue ids is in $keep.
240
- $intersect = array_intersect( $keep, $venue_ids );
241
- if ( empty( $intersect ) ) {
242
- $this->run_amalgamate_venues( $venue_ids, [] );
243
-
244
- return;
245
- }
246
-
247
- // Return all the venue ids that match.
248
- $intersect_keys = array_flip( $intersect );
249
- $venue_ids = array_filter( $venue_ids, function ( $venue_id ) use ( $intersect_keys ) {
250
- return ! isset( $intersect_keys[ $venue_id ] );
251
- } );
252
-
253
- // Sort the array to get the lowest post id.
254
- sort( $intersect );
255
- // Get the first and lowest venue id as there can only be one venue that everything is amalgamates to.
256
- $keep = array_shift( $intersect );
257
-
258
- $this->run_amalgamate_venues( $venue_ids, $keep );
259
- }
260
-
261
- /**
262
- * Run the Venue amalgamation, by default it keeps the lowest venue_id.
263
- *
264
- * @since 5.14.2
265
- *
266
- * @param array<string|integer> $venue_ids An Array of venue ids to merge.
267
- * @param array<string|integer> $keep An Array of the post IDs to keep or an empty array.
268
- */
269
- public function run_amalgamate_venues( $venue_ids, $keep = [] ) {
270
  global $wpdb;
271
-
272
- // If $venue_ids is empty, then return.
273
- if ( empty( $venue_ids ) ) {
274
- return;
275
- }
276
-
277
- // If $keep is empty, then use the first venue id in the array..
278
- if ( empty( $keep ) ) {
279
- $keep = array_shift( $venue_ids );
280
- }
281
-
282
- $merging_ids = array_map( static function ( $id ) use ( $wpdb ) {
283
- return $wpdb->prepare( '%d', $id );
284
- }, $venue_ids );
285
-
286
- $sql = "
287
- UPDATE {$wpdb->postmeta}
288
- SET meta_value=%d
289
- WHERE meta_key=%s
290
- AND meta_value
291
- IN(%s)
292
- ";
293
- $sql = $wpdb->prepare( $sql, $keep, '_EventVenueID', implode(',', $merging_ids) );
294
  $wpdb->query( $sql );
295
-
296
  $this->update_default_venues( $keep, $venue_ids );
297
  $this->delete_posts( $venue_ids );
298
  }
@@ -307,86 +191,12 @@ class Tribe__Events__Amalgamator {
307
  if ( empty( $organizer_ids ) || count( $organizer_ids ) < 2 ) {
308
  return;
309
  }
310
-
311
- $organizer_ids = array_map( function ( $item ) {
312
- return intval( absint( $item ) );
313
- }, $organizer_ids );
314
-
315
- // Sort the array to get the lowest post id.
316
- sort( $organizer_ids );
317
-
318
- /**
319
- * Filter the organizer IDs that should be kept.
320
- *
321
- * @since 5.14.2
322
- *
323
- * @param array<string|integer> An Array of the post IDs to keep or an empty array if not defined.
324
- * @param array<string|integer> An Array of organizer ids to merge.
325
- */
326
- $keep = (array) apply_filters( 'tribe_amalgamate_organizers_keep_organizer', [], $organizer_ids );
327
-
328
- // If not an array or empty, run the default venues amalgamate.
329
- if ( ! is_array( $keep ) || empty( $keep ) ) {
330
- $this->run_amalgamate_organizers( $organizer_ids, [] );
331
-
332
- return;
333
- }
334
-
335
- // Check if any of the organizer ids is in $keep.
336
- $intersect = array_intersect( $keep, $organizer_ids );
337
- if ( empty( $intersect ) ) {
338
- $this->run_amalgamate_organizers( $organizer_ids, [] );
339
-
340
- return;
341
- }
342
-
343
- // Return all the organizer ids that match.
344
- $intersect_keys = array_flip( $intersect );
345
- $organizer_ids = array_filter( $organizer_ids, function ( $organizer_id ) use ( $intersect_keys ) {
346
- return ! isset( $intersect_keys[ $organizer_id ] );
347
- } );
348
-
349
- // Sort the array to get the lowest post id.
350
- sort( $intersect );
351
- // Get the first and lowest organizer id as there can only be one organizer that everything is amalgamates to.
352
- $keep = array_shift( $intersect );
353
-
354
- $this->run_amalgamate_organizers( $organizer_ids, $keep );
355
- }
356
-
357
- /**
358
- * Run the Venue amalgamation, by default it keeps the lowest venue_id.
359
- *
360
- * @since 5.14.2
361
- *
362
- * @param array<string|integer> $organizer_ids An Array of organizer ids to merge.
363
- * @param array<string|integer> $keep An Array of the post IDs to keep or an empty array.
364
- */
365
- public function run_amalgamate_organizers( $organizer_ids, $keep = [] ) {
366
  global $wpdb;
367
-
368
- // If $organizer_ids is empty, then return.
369
- if ( empty( $organizer_ids ) ) {
370
- return;
371
- }
372
-
373
- // If $keep is empty, then use the first venue id in the array..
374
- if ( empty( $keep ) ) {
375
- $keep = array_shift( $organizer_ids );
376
- }
377
-
378
- $merging_ids = array_map( static function ( $id ) use ( $wpdb ) {
379
- return $wpdb->prepare( '%d', $id );
380
- }, $organizer_ids );
381
-
382
- $sql = "
383
- UPDATE {$wpdb->postmeta}
384
- SET meta_value=%d
385
- WHERE meta_key=%s
386
- AND meta_value
387
- IN(%s)
388
- ";
389
- $sql = $wpdb->prepare( $sql, $keep, '_EventOrganizerID', implode(',', $merging_ids) );
390
  $wpdb->query( $sql );
391
  $this->update_default_organizers( $keep, $organizer_ids );
392
  $this->delete_posts( $organizer_ids );
@@ -450,18 +260,10 @@ class Tribe__Events__Amalgamator {
450
  * @return string
451
  */
452
  public static function migration_button( $text = '' ) {
453
- $text = $text ? $text : __( 'Merge Duplicates', 'the-events-calendar' );
454
- $settings = Tribe__Settings::instance();
455
-
456
- // get the base settings page url
457
- $url = apply_filters(
458
- 'tribe_settings_url', add_query_arg(
459
- [
460
- 'post_type' => Tribe__Events__Main::POSTTYPE,
461
- 'page' => $settings->adminSlug,
462
- ], admin_url( 'edit.php' )
463
- )
464
- );
465
 
466
  $url = add_query_arg( [ 'amalgamate' => '1' ], $url );
467
  $url = wp_nonce_url( $url, 'amalgamate_duplicates' );
@@ -481,17 +283,10 @@ class Tribe__Events__Amalgamator {
481
  $amalgamator = new self();
482
  $amalgamator->merge_duplicates();
483
 
484
- // redirect to base settings page
485
- $settings = Tribe__Settings::instance();
486
- $url = apply_filters(
487
- 'tribe_settings_url', add_query_arg(
488
- [
489
- 'post_type' => Tribe__Events__Main::POSTTYPE,
490
- 'page' => $settings->adminSlug,
491
- ], admin_url( 'edit.php' )
492
- )
493
- );
494
  wp_redirect( esc_url_raw( $url ) );
495
- exit();
496
  }
497
  }
2
  /**
3
  * Merge pre-3.0 duplicate venues and organizers
4
  */
5
+ use Tribe\Events\Admin\Settings as Plugin_Settings;
6
+
7
  class Tribe__Events__Amalgamator {
8
  private $default_venue = 0;
9
  private $default_community_venue = 0;
29
  *
30
  */
31
  public function merge_duplicates() {
32
+ $this->merge_identical_organizers();
33
+ $this->merge_identical_venues();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  $events = Tribe__Events__Main::instance();
36
  wp_cache_flush();
58
  '_OrganizerEmail' => get_post_meta( $id, '_OrganizerEmail', true ),
59
  ];
60
 
 
 
 
 
 
 
 
 
 
 
61
  $hash = md5( serialize( $data ) );
62
 
63
  if ( ! isset( $buckets[ $hash ] ) ) {
106
  '_VenueURL' => get_post_meta( $id, '_VenueURL', true ),
107
  ];
108
 
 
 
 
 
 
 
 
 
 
109
  $hash = md5( serialize( $data ) );
110
 
111
  if ( ! isset( $buckets[ $hash ] ) ) {
163
  /**
164
  * Merge all venues in the given list into one post (keeping the first)
165
  *
166
+ * @param array $venue_ids
167
  *
 
168
  */
169
+ private function amalgamate_venues( $venue_ids ) {
170
  if ( empty( $venue_ids ) || count( $venue_ids ) < 2 ) {
171
  return;
172
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  global $wpdb;
174
+ array_map( 'intval', $venue_ids );
175
+ $keep = array_shift( $venue_ids );
176
+ $old_ids = implode( ',', $venue_ids );
177
+ $sql = "UPDATE {$wpdb->postmeta} SET meta_value=%d WHERE meta_key=%s AND meta_value IN($old_ids)";
178
+ $sql = $wpdb->prepare( $sql, $keep, '_EventVenueID' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  $wpdb->query( $sql );
 
180
  $this->update_default_venues( $keep, $venue_ids );
181
  $this->delete_posts( $venue_ids );
182
  }
191
  if ( empty( $organizer_ids ) || count( $organizer_ids ) < 2 ) {
192
  return;
193
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  global $wpdb;
195
+ array_map( 'intval', $organizer_ids );
196
+ $keep = array_shift( $organizer_ids );
197
+ $old_ids = implode( ',', $organizer_ids );
198
+ $sql = "UPDATE {$wpdb->postmeta} SET meta_value=%d WHERE meta_key=%s AND meta_value IN($old_ids)";
199
+ $sql = $wpdb->prepare( $sql, $keep, '_EventOrganizerID' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  $wpdb->query( $sql );
201
  $this->update_default_organizers( $keep, $organizer_ids );
202
  $this->delete_posts( $organizer_ids );
260
  * @return string
261
  */
262
  public static function migration_button( $text = '' ) {
263
+ $text = $text ? $text : __( 'Merge Duplicates', 'the-events-calendar' );
264
+
265
+ // Get the base settings page URL.
266
+ $url = tribe( Plugin_Settings::class )->get_url();
 
 
 
 
 
 
 
 
267
 
268
  $url = add_query_arg( [ 'amalgamate' => '1' ], $url );
269
  $url = wp_nonce_url( $url, 'amalgamate_duplicates' );
283
  $amalgamator = new self();
284
  $amalgamator->merge_duplicates();
285
 
286
+ // Redirect to base settings page.
287
+ $url = tribe( Plugin_Settings::class )->get_url();
288
+
 
 
 
 
 
 
 
289
  wp_redirect( esc_url_raw( $url ) );
290
+ tribe_exit();
291
  }
292
  }
src/Tribe/Editor.php CHANGED
@@ -122,10 +122,9 @@ class Tribe__Events__Editor extends Tribe__Editor {
122
  }
123
 
124
  /**
125
- * When Gutenberg is active, we do not care about custom-fields as a metabox, but as part of the Rest API
126
  *
127
- * Code is located at:
128
- * https://github.com/moderntribe/the-events-calendar/blob/f8af49bc41048e8632372fc8da77202d9cb98d86/src/Tribe/Admin/Event_Meta_Box.php#L345
129
  *
130
  * @todo Block that option once the user has Gutenberg active
131
  *
122
  }
123
 
124
  /**
125
+ * When Gutenberg is active do not care about custom-fields as a metabox, but as part o the Rest API
126
  *
127
+ * Code is located at: https://github.com/moderntribe/the-events-calendar/blob/f8af49bc41048e8632372fc8da77202d9cb98d86/src/Tribe/Admin/Event_Meta_Box.php#L345
 
128
  *
129
  * @todo Block that option once the user has Gutenberg active
130
  *
src/Tribe/Editor/Blocks/Archive_Events.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- namespace Tribe\Events\Editor\Blocks;
3
-
4
- class Archive_Events extends \Tribe__Editor__Blocks__Abstract {
5
-
6
- /**
7
- * Returns the name/slug of this block.
8
- *
9
- * @since 5.14.2
10
- *
11
- * @return string The name/slug of this block.
12
- */
13
- public function slug() {
14
- return 'archive-events';
15
- }
16
-
17
- /**
18
- * Set the default attributes of this block.
19
- *
20
- * @since 5.14.2
21
- *
22
- * @return array<string,mixed> The array of default attributes.
23
- */
24
- public function default_attributes() {
25
- return [];
26
- }
27
-
28
- /**
29
- * Since we are dealing with a Dynamic type of Block we need a PHP method to render it.
30
- *
31
- * @since 5.14.2
32
- *
33
- * @param array $attributes The block attributes.
34
- *
35
- * @return string The block HTML.
36
- */
37
- public function render( $attributes = [] ) {
38
- $args['attributes'] = $this->attributes( $attributes );
39
-
40
- // Add the rendering attributes into global context.
41
- tribe( 'events.editor.template' )->add_template_globals( $args );
42
-
43
- return tribe( 'events.editor.template' )->template( [ 'blocks', $this->slug() ], $args, false );
44
- }
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/Tribe/Editor/Provider.php CHANGED
@@ -16,7 +16,7 @@ class Tribe__Events__Editor__Provider extends tad_DI52_ServiceProvider {
16
 
17
  tribe( 'events.editor' )->hook();
18
 
19
- if ( ! tribe( 'editor' )->should_load_blocks() && ! tec_is_full_site_editor() ) {
20
  return;
21
  }
22
 
16
 
17
  tribe( 'events.editor' )->hook();
18
 
19
+ if ( ! tribe( 'editor' )->should_load_blocks() ) {
20
  return;
21
  }
22
 
src/Tribe/Importer/Column_Mapper.php CHANGED
@@ -76,7 +76,6 @@ class Tribe__Events__Importer__Column_Mapper {
76
  'event_show_map_link' => esc_html__( 'Event Show Map Link', 'the-events-calendar' ),
77
  'event_show_map' => esc_html__( 'Event Show Map', 'the-events-calendar' ),
78
  'event_cost' => esc_html__( 'Event Cost', 'the-events-calendar' ),
79
- 'event_currency_code' => esc_html__( 'Event ISO Currency Code', 'the-events-calendar' ),
80
  'event_currency_symbol' => esc_html__( 'Event Currency Symbol', 'the-events-calendar' ),
81
  'event_currency_position' => esc_html__( 'Event Currency Position', 'the-events-calendar' ),
82
  'event_category' => esc_html__( 'Event Category', 'the-events-calendar' ),
76
  'event_show_map_link' => esc_html__( 'Event Show Map Link', 'the-events-calendar' ),
77
  'event_show_map' => esc_html__( 'Event Show Map', 'the-events-calendar' ),
78
  'event_cost' => esc_html__( 'Event Cost', 'the-events-calendar' ),
 
79
  'event_currency_symbol' => esc_html__( 'Event Currency Symbol', 'the-events-calendar' ),
80
  'event_currency_position' => esc_html__( 'Event Currency Position', 'the-events-calendar' ),
81
  'event_category' => esc_html__( 'Event Category', 'the-events-calendar' ),
src/Tribe/Importer/File_Importer_Events.php CHANGED
@@ -261,7 +261,6 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
261
  'EventShowMapLink' => $this->get_boolean_value_by_key( $record, 'event_show_map_link', '1', '' ),
262
  'EventShowMap' => $this->get_boolean_value_by_key( $record, 'event_show_map', '1', '' ),
263
  'EventCost' => $this->get_value_by_key( $record, 'event_cost' ),
264
- 'EventCurrencyCode' => $this->get_value_by_key( $record, 'event_currency_code' ),
265
  'EventAllDay' => $this->get_boolean_value_by_key( $record, 'event_all_day', 'yes' ),
266
  'EventHideFromUpcoming' => $this->get_boolean_value_by_key( $record, 'event_hide', 'yes', '' ),
267
  'EventURL' => $this->get_value_by_key( $record, 'event_website' ),
261
  'EventShowMapLink' => $this->get_boolean_value_by_key( $record, 'event_show_map_link', '1', '' ),
262
  'EventShowMap' => $this->get_boolean_value_by_key( $record, 'event_show_map', '1', '' ),
263
  'EventCost' => $this->get_value_by_key( $record, 'event_cost' ),
 
264
  'EventAllDay' => $this->get_boolean_value_by_key( $record, 'event_all_day', 'yes' ),
265
  'EventHideFromUpcoming' => $this->get_boolean_value_by_key( $record, 'event_hide', 'yes', '' ),
266
  'EventURL' => $this->get_value_by_key( $record, 'event_website' ),
src/Tribe/Importer/File_Reader.php CHANGED
@@ -9,31 +9,14 @@ class Tribe__Events__Importer__File_Reader {
9
  private $last_line_read = 0;
10
  public $lines;
11
 
12
- /**
13
- * Construct for Tribe__Events__Importer__File_Reader.
14
- *
15
- * @since 5.14.2 - Fix for PHP 8.0.15 to 8.0.17 on getting the last line of the csv file.
16
- *
17
- * @param string $file_path The full path to the file.
18
- */
19
  public function __construct( $file_path ) {
20
  ini_set( 'auto_detect_line_endings', true );
21
  $this->path = $file_path;
22
  $this->file = new SplFileObject( $this->path );
23
  $this->file->setFlags( SplFileObject::SKIP_EMPTY | SplFileObject::READ_CSV | SplFileObject::READ_AHEAD | SplFileObject::DROP_NEW_LINE );
24
  $this->set_csv_params( $this->get_csv_params() );
25
- $this->file->seek( PHP_INT_MAX );
26
- $total_lines = $this->file->key();
27
- /*
28
- * In PHP 8.0.15 to 8.0.17 or 8.1.2 to 8.1.4 the use of seek() and then key() returns 0 when using the flag SplFileObject::READ_CSV.
29
- * This bug is fixed in PHP 8.0.18 and 8.1.5.
30
- * @see https://github.com/php/php-src/issues/8236 - outlines the issue with seek()
31
- * @see https://github.com/php/php-src/pull/8138 - PR to fix the issue
32
- */
33
- if ( 0 === $total_lines ) {
34
- $total_lines = iterator_count( $this->file );
35
- }
36
- $this->lines = $total_lines;
37
  $this->file->rewind();
38
 
39
  add_filter( 'tribe_events_import_row', [ $this, 'sanitize_row' ] );
9
  private $last_line_read = 0;
10
  public $lines;
11
 
 
 
 
 
 
 
 
12
  public function __construct( $file_path ) {
13
  ini_set( 'auto_detect_line_endings', true );
14
  $this->path = $file_path;
15
  $this->file = new SplFileObject( $this->path );
16
  $this->file->setFlags( SplFileObject::SKIP_EMPTY | SplFileObject::READ_CSV | SplFileObject::READ_AHEAD | SplFileObject::DROP_NEW_LINE );
17
  $this->set_csv_params( $this->get_csv_params() );
18
+ $this->file->seek( $this->file->getSize() );
19
+ $this->lines = $this->file->key();
 
 
 
 
 
 
 
 
 
 
20
  $this->file->rewind();
21
 
22
  add_filter( 'tribe_events_import_row', [ $this, 'sanitize_row' ] );
src/Tribe/Integrations/Freemius.php CHANGED
@@ -1,5 +1,7 @@
1
  <?php
2
 
 
 
3
  /**
4
  * Facilitates smoother integration with the Freemius.
5
  *
@@ -68,7 +70,7 @@ class Tribe__Events__Integrations__Freemius {
68
  *
69
  * @var string
70
  */
71
- private $page = 'tribe-common';
72
 
73
  /**
74
  * Tribe__Tickets__Integrations__Freemius constructor.
@@ -96,10 +98,12 @@ class Tribe__Events__Integrations__Freemius {
96
  $page = tribe_get_request_var( 'page' );
97
 
98
  $valid_page = [
99
- Tribe__Settings::$parent_slug => true,
100
- Tribe__App_Shop::MENU_SLUG => true,
101
- Tribe__Events__Aggregator__Page::$slug => true,
102
- 'tribe-help' => true,
 
 
103
  ];
104
 
105
  if ( isset( $valid_page[ $page ] ) ) {
@@ -273,7 +277,7 @@ class Tribe__Events__Integrations__Freemius {
273
  * @return string The Settings page path.
274
  */
275
  public function get_settings_path() {
276
- return sprintf( 'edit.php?post_type=%s&page=%s', Tribe__Events__Main::POSTTYPE, $this->page );
277
  }
278
 
279
  /**
@@ -284,7 +288,7 @@ class Tribe__Events__Integrations__Freemius {
284
  * @return string The welcome page URL.
285
  */
286
  public function get_welcome_url() {
287
- return Tribe__Settings::instance()->get_url( [ Tribe__Events__Main::instance()->activation_page->welcome_slug => 1 ] );
288
  }
289
 
290
  /**
1
  <?php
2
 
3
+ use Tribe\Events\Admin\Settings;
4
+
5
  /**
6
  * Facilitates smoother integration with the Freemius.
7
  *
70
  *
71
  * @var string
72
  */
73
+ private $page = 'tec-events-settings';
74
 
75
  /**
76
  * Tribe__Tickets__Integrations__Freemius constructor.
98
  $page = tribe_get_request_var( 'page' );
99
 
100
  $valid_page = [
101
+ \Tribe\Events\Admin\Settings::$settings_page_id => true,
102
+ Tribe__Settings::$parent_slug => true,
103
+ Tribe__App_Shop::MENU_SLUG => true,
104
+ Tribe__Events__Aggregator__Page::$slug => true,
105
+ 'tec-events-help' => true,
106
+ 'tec-troubleshooting' => true,
107
  ];
108
 
109
  if ( isset( $valid_page[ $page ] ) ) {
277
  * @return string The Settings page path.
278
  */
279
  public function get_settings_path() {
280
+ return str_replace( get_admin_url(), '', tribe( Settings::class )->get_url() );
281
  }
282
 
283
  /**
288
  * @return string The welcome page URL.
289
  */
290
  public function get_welcome_url() {
291
+ return tribe( Settings::class )->get_url( [ Tribe__Events__Main::instance()->activation_page->welcome_slug => 1 ] );
292
  }
293
 
294
  /**
src/Tribe/Main.php CHANGED
@@ -3,6 +3,7 @@
3
  * Main Tribe Events Calendar class.
4
  */
5
  use Tribe\DB_Lock;
 
6
 
7
  if ( ! defined( 'ABSPATH' ) ) {
8
  die( '-1' );
@@ -32,14 +33,14 @@ 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.14.2.1';
36
 
37
  /**
38
  * Min Pro Addon
39
  *
40
  * @deprecated 4.8
41
  */
42
- const MIN_ADDON_VERSION = '5.7-dev';
43
 
44
  /**
45
  * Min Common
@@ -69,7 +70,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
69
  *
70
  * @since 4.8
71
  */
72
- protected $min_et_version = '4.11.2-dev';
73
 
74
  /**
75
  * Maybe display data wrapper
@@ -534,6 +535,9 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
534
  public function bind_implementations( ) {
535
  tribe_singleton( 'tec.main', $this );
536
 
 
 
 
537
  // i18n.
538
  tribe_singleton( 'tec.i18n', new Tribe\Events\I18n( $this ) );
539
 
@@ -640,8 +644,6 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
640
  // Filter Bar upsell.
641
  tribe_register_provider( Tribe\Events\Admin\Filter_Bar\Provider::class );
642
 
643
- tribe_register_provider( TEC\Events\Editor\Full_Site\Provider::class );
644
-
645
  /**
646
  * Allows other plugins and services to override/change the bound implementations.
647
  *
@@ -826,7 +828,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
826
  add_action( 'admin_init', [ $this, 'init_admin_list_screen' ] );
827
  }
828
 
829
- // Load organizer and venue editors
830
  add_action( 'admin_menu', [ $this, 'addVenueAndOrganizerEditor' ] );
831
 
832
  add_action( 'tribe_venue_table_top', [ $this, 'display_rich_snippets_helper' ], 5 );
@@ -835,14 +837,14 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
835
 
836
  add_action( 'wp', [ $this, 'issue_noindex' ] );
837
  add_action( 'plugin_row_meta', [ $this, 'addMetaLinks' ], 10, 2 );
838
- // organizer and venue
839
  if ( ! tec_should_hide_upsell() ) {
840
  add_action( 'wp_dashboard_setup', [ $this, 'dashboardWidget' ] );
841
  add_action( 'tribe_events_cost_table', [ $this, 'maybeShowMetaUpsell' ] );
842
  }
843
 
844
  add_action(
845
- 'load-tribe_events_page_' . Tribe__Settings::$parent_slug,
846
  [
847
  'Tribe__Events__Amalgamator',
848
  'listen_for_migration_button',
@@ -1052,6 +1054,17 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
1052
  $this->run_scheduler();
1053
  }
1054
 
 
 
 
 
 
 
 
 
 
 
 
1055
  /**
1056
  * Initializes any admin-specific code (expects to be called when admin_init fires).
1057
  */
@@ -1101,6 +1114,8 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
1101
  $this->activation_page = new Tribe__Admin__Activation_Page(
1102
  [
1103
  'slug' => 'the-events-calendar',
 
 
1104
  'activation_transient' => '_tribe_events_activation_redirect',
1105
  'version' => self::VERSION,
1106
  'plugin_path' => $this->plugin_dir . 'the-events-calendar.php',
@@ -1279,9 +1294,16 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
1279
  }
1280
 
1281
  /**
1282
- * Initialize the addons api settings tab
 
 
1283
  */
1284
- public function do_addons_api_settings_tab() {
 
 
 
 
 
1285
  include_once $this->plugin_path . 'src/admin-views/tribe-options-addons-api.php';
1286
  }
1287
 
@@ -1325,8 +1347,14 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
1325
  * Create the upgrade tab
1326
  *
1327
  * @since 4.9.12
 
1328
  */
1329
- public function do_upgrade_tab() {
 
 
 
 
 
1330
  if ( ! $this->show_upgrade() ) {
1331
  return;
1332
  }
@@ -1387,6 +1415,14 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
1387
  'show_save' => true,
1388
  ]
1389
  );
 
 
 
 
 
 
 
 
1390
  }
1391
 
1392
  /**
@@ -4443,7 +4479,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
4443
  * @todo move to an admin class
4444
  */
4445
  public function addLinksToPluginActions( $actions ) {
4446
- $actions['settings'] = '<a href="' . Tribe__Settings::instance()->get_url() . '">' . esc_html__( 'Settings', 'the-events-calendar' ) . '</a>';
4447
  $actions['tribe-calendar'] = '<a href="' . $this->getLink() . '">' . esc_html__( 'Calendar', 'the-events-calendar' ) . '</a>';
4448
 
4449
  return $actions;
3
  * Main Tribe Events Calendar class.
4
  */
5
  use Tribe\DB_Lock;
6
+ use Tribe\Events\Admin\Settings;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  die( '-1' );
33
  const VENUE_POST_TYPE = 'tribe_venue';
34
  const ORGANIZER_POST_TYPE = 'tribe_organizer';
35
 
36
+ const VERSION = '5.15.0';
37
 
38
  /**
39
  * Min Pro Addon
40
  *
41
  * @deprecated 4.8
42
  */
43
+ const MIN_ADDON_VERSION = '5.14-dev';
44
 
45
  /**
46
  * Min Common
70
  *
71
  * @since 4.8
72
  */
73
+ protected $min_et_version = '5.4.0-dev';
74
 
75
  /**
76
  * Maybe display data wrapper
535
  public function bind_implementations( ) {
536
  tribe_singleton( 'tec.main', $this );
537
 
538
+ // Admin provider.
539
+ tribe_register_provider( \Tribe\Events\Admin\Provider::class );
540
+
541
  // i18n.
542
  tribe_singleton( 'tec.i18n', new Tribe\Events\I18n( $this ) );
543
 
644
  // Filter Bar upsell.
645
  tribe_register_provider( Tribe\Events\Admin\Filter_Bar\Provider::class );
646
 
 
 
647
  /**
648
  * Allows other plugins and services to override/change the bound implementations.
649
  *
828
  add_action( 'admin_init', [ $this, 'init_admin_list_screen' ] );
829
  }
830
 
831
+ // Load Organizer and Venue editors.
832
  add_action( 'admin_menu', [ $this, 'addVenueAndOrganizerEditor' ] );
833
 
834
  add_action( 'tribe_venue_table_top', [ $this, 'display_rich_snippets_helper' ], 5 );
837
 
838
  add_action( 'wp', [ $this, 'issue_noindex' ] );
839
  add_action( 'plugin_row_meta', [ $this, 'addMetaLinks' ], 10, 2 );
840
+ // Organizer and venue.
841
  if ( ! tec_should_hide_upsell() ) {
842
  add_action( 'wp_dashboard_setup', [ $this, 'dashboardWidget' ] );
843
  add_action( 'tribe_events_cost_table', [ $this, 'maybeShowMetaUpsell' ] );
844
  }
845
 
846
  add_action(
847
+ 'load-tribe_events_page_' . Tribe\Events\Admin\Settings::$settings_page_id ,
848
  [
849
  'Tribe__Events__Amalgamator',
850
  'listen_for_migration_button',
1054
  $this->run_scheduler();
1055
  }
1056
 
1057
+ /**
1058
+ * Settings page object accessor.
1059
+ *
1060
+ * @since 5.15.0
1061
+ *
1062
+ * @return Settings
1063
+ */
1064
+ public function settings() {
1065
+ return tribe( Settings::class );
1066
+ }
1067
+
1068
  /**
1069
  * Initializes any admin-specific code (expects to be called when admin_init fires).
1070
  */
1114
  $this->activation_page = new Tribe__Admin__Activation_Page(
1115
  [
1116
  'slug' => 'the-events-calendar',
1117
+ 'admin_page' => 'tribe_events_page_tec-events-settings',
1118
+ 'admin_url' => tribe( Settings::class )->get_url(),
1119
  'activation_transient' => '_tribe_events_activation_redirect',
1120
  'version' => self::VERSION,
1121
  'plugin_path' => $this->plugin_dir . 'the-events-calendar.php',
1294
  }
1295
 
1296
  /**
1297
+ * Initialize the addons api settings tab.
1298
+ *
1299
+ * @since 5.15.0 Added check to see if we are on TEC settings page.
1300
  */
1301
+ public function do_addons_api_settings_tab( $admin_page ) {
1302
+ // Bail if we're not on TEC settings.
1303
+ if ( ! empty( $admin_page ) && tribe( Settings::class )::$settings_page_id !== $admin_page ) {
1304
+ return;
1305
+ }
1306
+
1307
  include_once $this->plugin_path . 'src/admin-views/tribe-options-addons-api.php';
1308
  }
1309
 
1347
  * Create the upgrade tab
1348
  *
1349
  * @since 4.9.12
1350
+ * @since 5.15.0 Added check to see if we are on TEC settings page.
1351
  */
1352
+ public function do_upgrade_tab( $admin_page ) {
1353
+ // Bail if we're not on TEC settings.
1354
+ if ( ! empty( $admin_page ) && tribe( Settings::class )::$settings_page_id !== $admin_page ) {
1355
+ return;
1356
+ }
1357
+
1358
  if ( ! $this->show_upgrade() ) {
1359
  return;
1360
  }
1415
  'show_save' => true,
1416
  ]
1417
  );
1418
+
1419
+ add_filter(
1420
+ 'tec_events_settings_tabs_ids',
1421
+ function( $tabs ) {
1422
+ $tabs[] = 'upgrade';
1423
+ return $tabs;
1424
+ }
1425
+ );
1426
  }
1427
 
1428
  /**
4479
  * @todo move to an admin class
4480
  */
4481
  public function addLinksToPluginActions( $actions ) {
4482
+ $actions['settings'] = '<a href="' . tribe( Settings::class )->get_url() . '">' . esc_html__( 'Settings', 'the-events-calendar' ) . '</a>';
4483
  $actions['tribe-calendar'] = '<a href="' . $this->getLink() . '">' . esc_html__( 'Calendar', 'the-events-calendar' ) . '</a>';
4484
 
4485
  return $actions;
src/Tribe/Models/Post_Types/Event.php CHANGED
@@ -113,7 +113,7 @@ class Event extends Base {
113
  $this_week_duration = null;
114
  $displays_on = [];
115
 
116
- if ( 'raw' !== $filter && Dates::is_valid_date( $filter ) ) {
117
  list( $week_start, $week_end ) = Dates::get_week_start_end( $filter );
118
 
119
  $week_cache_key = $post_id . '_' . $week_start->format( Dates::DBDATEFORMAT ) . '_week';
113
  $this_week_duration = null;
114
  $displays_on = [];
115
 
116
+ if ( Dates::is_valid_date( $filter ) ) {
117
  list( $week_start, $week_end ) = Dates::get_week_start_end( $filter );
118
 
119
  $week_cache_key = $post_id . '_' . $week_start->format( Dates::DBDATEFORMAT ) . '_week';
src/Tribe/Plugin_Register.php CHANGED
@@ -3,14 +3,14 @@
3
 
4
  class Tribe__Events__Plugin_Register extends Tribe__Abstract_Plugin_Register {
5
 
6
- protected $main_class = 'Tribe__Events__Main';
7
  protected $dependencies = [
8
  'addon-dependencies' => [
9
- 'Tribe__Events__Pro__Main' => '5.11.2-dev',
10
- 'Tribe__Events__Filterbar__View' => '5.2.0-dev',
11
- 'Tribe__Events__Tickets__Eventbrite__Main' => '4.6-dev',
12
- 'Tribe__Events__Community__Main' => '4.8.0-dev',
13
  'Tribe__Events__Community__Tickets__Main' => '4.7.2-dev',
 
14
  ],
15
  ];
16
 
3
 
4
  class Tribe__Events__Plugin_Register extends Tribe__Abstract_Plugin_Register {
5
 
6
+ protected $main_class = 'Tribe__Events__Main';
7
  protected $dependencies = [
8
  'addon-dependencies' => [
9
+ 'Tribe__Events__Pro__Main' => '5.14.0-dev',
10
+ 'Tribe__Events__Filterbar__View' => '5.3.0-dev',
11
+ 'Tribe__Events__Community__Main' => '4.9.0-dev',
 
12
  'Tribe__Events__Community__Tickets__Main' => '4.7.2-dev',
13
+ 'Tribe__Events__Tickets__Eventbrite__Main' => '4.6.11-dev',
14
  ],
15
  ];
16
 
src/Tribe/Views/V2/Hooks.php CHANGED
@@ -231,10 +231,6 @@ class Hooks extends \tad_DI52_ServiceProvider {
231
  * @since 4.9.2
232
  */
233
  public function on_wp_head() {
234
- if ( tec_is_full_site_editor() ) {
235
- return;
236
- }
237
-
238
  $this->container->make( Template\Page::class )->maybe_hijack_main_query();
239
  }
240
 
231
  * @since 4.9.2
232
  */
233
  public function on_wp_head() {
 
 
 
 
234
  $this->container->make( Template\Page::class )->maybe_hijack_main_query();
235
  }
236
 
src/Tribe/Views/V2/Template_Bootstrap.php CHANGED
@@ -355,10 +355,6 @@ class Template_Bootstrap {
355
  * @return string Path to the File that initializes the template
356
  */
357
  public function filter_template_include( $template ) {
358
- if ( tec_is_full_site_editor() ) {
359
- return $template;
360
- }
361
-
362
  $query = tribe_get_global_query_object();
363
  $context = tribe_context();
364
 
355
  * @return string Path to the File that initializes the template
356
  */
357
  public function filter_template_include( $template ) {
 
 
 
 
358
  $query = tribe_get_global_query_object();
359
  $context = tribe_context();
360
 
src/Tribe/Views/V2/View.php CHANGED
@@ -1224,7 +1224,6 @@ class View implements View_Interface {
1224
  * This allows us to save a query when determining pagination for list-like views.
1225
  *
1226
  * @since 5.0.0
1227
- * @since 5.15.2 Ensure our max() gets all ints, for math reasons.
1228
  *
1229
  * @param null|int $offset_override Offset override value.
1230
  * @param \WP_Query $query WP Query object.
@@ -1239,12 +1238,11 @@ class View implements View_Interface {
1239
  $context = $this->get_context();
1240
 
1241
  $current_page = max(
1242
- (int) $context->get( 'page' ),
1243
- (int) $context->get( 'paged' ),
1244
  1
1245
  );
1246
-
1247
- return ( $current_page - 1 ) * $context->get( 'events_per_page' );
1248
  }
1249
 
1250
  /**
1224
  * This allows us to save a query when determining pagination for list-like views.
1225
  *
1226
  * @since 5.0.0
 
1227
  *
1228
  * @param null|int $offset_override Offset override value.
1229
  * @param \WP_Query $query WP Query object.
1238
  $context = $this->get_context();
1239
 
1240
  $current_page = max(
1241
+ $context->get( 'page' ),
1242
+ $context->get( 'paged' ),
1243
  1
1244
  );
1245
+ return ( $current_page - 1 ) * $this->get_context()->get( 'events_per_page' );
 
1246
  }
1247
 
1248
  /**
src/Tribe/Views/V2/Views/Traits/With_Fast_Forward_Link.php CHANGED
@@ -11,7 +11,6 @@ namespace Tribe\Events\Views\V2\Views\Traits;
11
 
12
  use Tribe\Events\Views\V2\View_Interface;
13
  use Tribe__Date_Utils as Dates;
14
- use Tribe__Events__Main;
15
 
16
  /**
17
  * Class With_Fast_Forward_Link
@@ -44,24 +43,7 @@ trait With_Fast_Forward_Link {
44
  return $this->cached_urls[ $cache_key ];
45
  }
46
 
47
- $next_event = tribe_events()->where( 'starts_after', $date );
48
-
49
- $event_cat = isset( $this->repository_args[ Tribe__Events__Main::TAXONOMY ] ) ? $this->repository_args[ Tribe__Events__Main::TAXONOMY ] : null;
50
- if ( ! empty( $event_cat ) ) {
51
- $next_event = $next_event->where( 'category', (array) $event_cat );
52
- }
53
-
54
- /**
55
- * Allows other plugins to modify the events repository for the fast-forward link.
56
- *
57
- * @since 5.14.2
58
- *
59
- * @param Tribe__Repository__Interface $next_event Current instance of the events repository class.
60
- * @param View_Interface $view The View currently rendering.
61
- */
62
- $next_event = apply_filters( 'tribe_events_views_v2_ff_link_next_event', $next_event, $this );
63
-
64
- $next_event = $next_event->first();
65
 
66
  if ( ! $next_event instanceof \WP_Post ) {
67
  return '';
@@ -97,19 +79,26 @@ trait With_Fast_Forward_Link {
97
  public function use_ff_link( $canonical = false, array $passthru_vars = [] ) {
98
  // Default is true.
99
  $use_ff_link = true;
 
 
100
 
101
  // Don't do filter checks if taxonomy check has failed.
102
- if ( ! empty( $this->context->get( 'taxonomy' ) ) ) {
103
  // @todo [BTRIA-598]: @stephen Move this to Filterbar.
104
  $filters = array_filter( (array) $this->context->get( 'view_data' ) );
105
 
106
- unset( $filters['url'] );
107
- unset( $filters['form_submit'] );
 
 
 
 
108
 
109
  $filters = \array_values( $filters );
110
  $use_ff_link = empty( $filters );
111
  }
112
 
 
113
  /**
114
  * Filters whether the fast-forward link should be used in Views or not whenever possible.
115
  *
11
 
12
  use Tribe\Events\Views\V2\View_Interface;
13
  use Tribe__Date_Utils as Dates;
 
14
 
15
  /**
16
  * Class With_Fast_Forward_Link
43
  return $this->cached_urls[ $cache_key ];
44
  }
45
 
46
+ $next_event = tribe_events()->where( 'starts_after', $date )->per_page( 1 )->first();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
  if ( ! $next_event instanceof \WP_Post ) {
49
  return '';
79
  public function use_ff_link( $canonical = false, array $passthru_vars = [] ) {
80
  // Default is true.
81
  $use_ff_link = true;
82
+ $tax = $this->context->get( 'taxonomy' );
83
+ $use_ff_link = empty( $tax );
84
 
85
  // Don't do filter checks if taxonomy check has failed.
86
+ if ( $use_ff_link ) {
87
  // @todo [BTRIA-598]: @stephen Move this to Filterbar.
88
  $filters = array_filter( (array) $this->context->get( 'view_data' ) );
89
 
90
+ if ( isset( $filters['url'] ) ) {
91
+ unset( $filters['url'] );
92
+ }
93
+ if ( isset( $filters['form_submit'] ) ) {
94
+ unset( $filters['form_submit'] );
95
+ }
96
 
97
  $filters = \array_values( $filters );
98
  $use_ff_link = empty( $filters );
99
  }
100
 
101
+
102
  /**
103
  * Filters whether the fast-forward link should be used in Views or not whenever possible.
104
  *
src/Tribe/Views/V2/iCalendar/Links/Google_Calendar.php CHANGED
@@ -115,14 +115,7 @@ class Google_Calendar extends Link_Abstract {
115
  return '';
116
  }
117
 
118
- $event_details = '';
119
- if ( ! empty( $event->description ) ) {
120
- $event_details = $event->description;
121
- } else if ( ! empty( $event->post_content ) ) {
122
- $event_details = $event->post_content;
123
- }
124
-
125
- $event_details = urlencode( $event_details );
126
 
127
  if ( ! empty( $event_details ) ) {
128
  //Truncate Event Description and add permalink if greater than 996 characters
@@ -226,11 +219,7 @@ class Google_Calendar extends Link_Abstract {
226
  }
227
 
228
  // Append the "read more" link.
229
- $event_details .= sprintf(
230
- esc_html_x( ' (View Full %1$s Description Here: %2$s)', 'Link to full description. %1$s: pre=translated event term. %2$s: event url.', 'the-events-calendar' ),
231
- tribe_get_event_label_singular_lowercase(),
232
- $event_url
233
- );
234
 
235
  return $event_details;
236
  }
115
  return '';
116
  }
117
 
118
+ $event_details = empty( $event->description ) ? urlencode( $event->description ) : '';
 
 
 
 
 
 
 
119
 
120
  if ( ! empty( $event_details ) ) {
121
  //Truncate Event Description and add permalink if greater than 996 characters
219
  }
220
 
221
  // Append the "read more" link.
222
+ $event_details .= sprintf( esc_html__( ' (View Full %1$s Description Here: %2$s)', 'the-events-calendar' ), $this->singular_event_label, $event_url );
 
 
 
 
223
 
224
  return $event_details;
225
  }
src/admin-views/admin-welcome-message.php CHANGED
@@ -33,7 +33,7 @@ $main = Tribe__Main::instance();
33
  <div class="tribe-events-admin-quick-nav">
34
  <div class="tribe-events-admin-quick-nav__title"><?php esc_html_e( 'Quick Links:', 'the-events-calendar' ); ?></div>
35
  <ul class="tribe-events-admin-quick-nav__links">
36
- <li class="tribe-events-admin-quick-nav__link-item"><a href="edit.php?post_type=tribe_events&page=tribe-common" class="tribe-events-admin-quick-nav__link"><?php esc_html_e( 'Configure Settings', 'the-events-calendar' ); ?></a></li>
37
  <li class="tribe-events-admin-quick-nav__link-item"><a href="post-new.php?post_type=tribe_events" class="tribe-events-admin-quick-nav__link"><?php esc_html_e( 'Create an Event', 'the-events-calendar' ); ?></a></li>
38
  <li class="tribe-events-admin-quick-nav__link-item"><a href="<?php echo esc_url( Tribe__Events__Main::instance()->getLink() ); ?>" class="tribe-events-admin-quick-nav__link"><?php esc_html_e( 'View My Calendar', 'the-events-calendar' ); ?></a></li>
39
  </ul>
33
  <div class="tribe-events-admin-quick-nav">
34
  <div class="tribe-events-admin-quick-nav__title"><?php esc_html_e( 'Quick Links:', 'the-events-calendar' ); ?></div>
35
  <ul class="tribe-events-admin-quick-nav__links">
36
+ <li class="tribe-events-admin-quick-nav__link-item"><a href="edit.php?post_type=tribe_events&page=tec-events-settings" class="tribe-events-admin-quick-nav__link"><?php esc_html_e( 'Configure Settings', 'the-events-calendar' ); ?></a></li>
37
  <li class="tribe-events-admin-quick-nav__link-item"><a href="post-new.php?post_type=tribe_events" class="tribe-events-admin-quick-nav__link"><?php esc_html_e( 'Create an Event', 'the-events-calendar' ); ?></a></li>
38
  <li class="tribe-events-admin-quick-nav__link-item"><a href="<?php echo esc_url( Tribe__Events__Main::instance()->getLink() ); ?>" class="tribe-events-admin-quick-nav__link"><?php esc_html_e( 'View My Calendar', 'the-events-calendar' ); ?></a></li>
39
  </ul>
src/admin-views/aggregator/settings.php CHANGED
@@ -3,6 +3,8 @@
3
  * Create a easy way to hook to the Add-ons Tab Fields
4
  * @var array
5
  */
 
 
6
  $internal = [];
7
  $use_global_settings_phrase = esc_html__( 'Use global import settings', 'the-events-calendar' );
8
  $post_statuses = get_post_statuses();
@@ -382,7 +384,7 @@ if ( Tribe__Events__Aggregator::is_service_active() ) {
382
  'To import Meetup events, please be sure to add your Meetup API key on %1$sEvents > Settings > Integrations%2$s',
383
  'the-events-calendar'
384
  ),
385
- '<a href="' . admin_url( Tribe__Settings::$parent_page . '&page=tribe-common&tab=addons' ) . '">',
386
  '</a>'
387
  ). '</p>',
388
  'priority' => 40.2,
@@ -680,7 +682,7 @@ if ( tribe( 'events-aggregator.main' )->is_service_active() ) {
680
  'Use the options below to configure your imports. Global Import Settings apply to all imports, but you can also override the global settings by adjusting the origin-specific options. Check your Event Aggregator Service Status on the %1$s.',
681
  'the-events-calendar'
682
  ),
683
- '<a href="' . esc_url( Tribe__Settings::instance()->get_url( [ 'page' => 'tribe-help' ] ) ) . '#tribe-tribe-aggregator-status">' . esc_html__( 'Help page', 'the-events-calendar' ) . '</a>'
684
  );
685
  ?>
686
  </p>
3
  * Create a easy way to hook to the Add-ons Tab Fields
4
  * @var array
5
  */
6
+ use Tribe\Events\Admin\Settings as Plugin_Settings;
7
+
8
  $internal = [];
9
  $use_global_settings_phrase = esc_html__( 'Use global import settings', 'the-events-calendar' );
10
  $post_statuses = get_post_statuses();
384
  'To import Meetup events, please be sure to add your Meetup API key on %1$sEvents > Settings > Integrations%2$s',
385
  'the-events-calendar'
386
  ),
387
+ '<a href="' . tribe( Plugin_Settings::class )->get_url( [ 'tab' => 'addons' ] ) . '">',
388
  '</a>'
389
  ). '</p>',
390
  'priority' => 40.2,
682
  'Use the options below to configure your imports. Global Import Settings apply to all imports, but you can also override the global settings by adjusting the origin-specific options. Check your Event Aggregator Service Status on the %1$s.',
683
  'the-events-calendar'
684
  ),
685
+ '<a href="' . esc_url( tribe( 'tec.main' )->settings()->get_url( [ 'page' => 'tribe-help' ] ) ) . '#tribe-tribe-aggregator-status">' . esc_html__( 'Help page', 'the-events-calendar' ) . '</a>'
686
  );
687
  ?>
688
  </p>
src/admin-views/aggregator/status.php CHANGED
@@ -33,7 +33,7 @@ $show_third_party_accounts = ! is_network_admin();
33
  $notes .= '</a>';
34
  } else {
35
  $text = __( 'Your license is invalid', 'the-events-calendar' );
36
- $notes = '<a href="' . esc_url( Tribe__Settings::instance()->get_url( [ 'tab' => 'licenses' ] ) ) . '">' . esc_html__( 'Check your license key', 'the-events-calendar' ) . '</a>';
37
  }
38
  }
39
  ?>
33
  $notes .= '</a>';
34
  } else {
35
  $text = __( 'Your license is invalid', 'the-events-calendar' );
36
+ $notes = '<a href="' . esc_url( tribe( 'tec.main' )->settings()->get_url( [ 'tab' => 'licenses' ] ) ) . '">' . esc_html__( 'Check your license key', 'the-events-calendar' ) . '</a>';
37
  }
38
  }
39
  ?>
src/admin-views/aggregator/tabs/import-form.php CHANGED
@@ -334,7 +334,7 @@ $scheduled_save_help = esc_html__( 'When you save this scheduled import, the eve
334
  <?php echo sprintf(
335
  '%1$s %2$s%3$s%4$s %5$s',
336
  esc_html__( 'Events will be imported with the same timezone as defined on eventbrite.com. You can make use of The Events Calendar\'s', 'the-events-calendar' ),
337
- '<a href="' . esc_url( Tribe__Settings::instance()->get_url() ) . '#tribe-field-tribe_events_timezone_mode">',
338
  esc_html__( 'timezone settings', 'the-events-calendar' ),
339
  '</a>',
340
  esc_html__( 'to change how the actual time is displayed on your calendar.', 'the-events-calendar' )
@@ -354,7 +354,7 @@ $scheduled_save_help = esc_html__( 'When you save this scheduled import, the eve
354
  <?php echo sprintf(
355
  '%1$s %2$s%3$s%4$s',
356
  esc_html__( 'Events will be imported with the time zone defined by the source. If no time zone is specified, events will be assigned your site\'s default time zone ( see', 'the-events-calendar' ),
357
- '<a href="' . esc_url( Tribe__Settings::instance()->get_url() ) . '#tribe-field-tribe_events_timezone_mode">',
358
  esc_html__( 'Settings > General', 'the-events-calendar' ),
359
  '</a> ).'
360
  );
334
  <?php echo sprintf(
335
  '%1$s %2$s%3$s%4$s %5$s',
336
  esc_html__( 'Events will be imported with the same timezone as defined on eventbrite.com. You can make use of The Events Calendar\'s', 'the-events-calendar' ),
337
+ '<a href="' . esc_url( tribe( 'tec.main' )->settings()->get_url() ) . '#tribe-field-tribe_events_timezone_mode">',
338
  esc_html__( 'timezone settings', 'the-events-calendar' ),
339
  '</a>',
340
  esc_html__( 'to change how the actual time is displayed on your calendar.', 'the-events-calendar' )
354
  <?php echo sprintf(
355
  '%1$s %2$s%3$s%4$s',
356
  esc_html__( 'Events will be imported with the time zone defined by the source. If no time zone is specified, events will be assigned your site\'s default time zone ( see', 'the-events-calendar' ),
357
+ '<a href="' . esc_url( tribe( 'tec.main' )->settings()->get_url() ) . '#tribe-field-tribe_events_timezone_mode">',
358
  esc_html__( 'Settings > General', 'the-events-calendar' ),
359
  '</a> ).'
360
  );
src/admin-views/create-venue-fields.php CHANGED
@@ -24,7 +24,7 @@ if ( ! $_POST && is_admin() ) {
24
 
25
  } else {
26
  $_VenuePhone = tribe_get_phone();
27
- $_VenueURL = strip_tags( tribe_get_venue_link( null, false ) );
28
  $_VenueAddress = tribe_get_address();
29
  $_VenueCity = tribe_get_city();
30
  $_VenueProvince = tribe_get_province();
24
 
25
  } else {
26
  $_VenuePhone = tribe_get_phone();
27
+ $_VenueURL = strip_tags( tribe_get_venue_website_link( null, null ) );
28
  $_VenueAddress = tribe_get_address();
29
  $_VenueCity = tribe_get_city();
30
  $_VenueProvince = tribe_get_province();
src/admin-views/tribe-options-addons-api.php CHANGED
@@ -5,7 +5,7 @@
5
  */
6
  $internal = [];
7
 
8
- $current_url = Tribe__Settings::instance()->get_url( [ 'tab' => 'addons' ] );
9
 
10
  // if there's an Event Aggregator license key, add the Meetup.com API fields
11
  if ( get_option( 'pue_install_key_event_aggregator' ) ) {
5
  */
6
  $internal = [];
7
 
8
+ $current_url = tribe( 'tec.main' )->settings()->get_url( [ 'tab' => 'addons' ] );
9
 
10
  // if there's an Event Aggregator license key, add the Meetup.com API fields
11
  if ( get_option( 'pue_install_key_event_aggregator' ) ) {
src/admin-views/tribe-options-display.php CHANGED
@@ -1,6 +1,64 @@
1
  <?php
2
  $tec = Tribe__Events__Main::instance();
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  /**
5
  * Filter the array of views that are registered for the tribe bar
6
  * @param array array() {
@@ -29,7 +87,6 @@ foreach ( $views as $view ) {
29
  $views_options[ $view['displaying'] ] = $view['anchor'];
30
  }
31
 
32
- // Form start.
33
  $display_tab_fields = Tribe__Main::array_insert_before_key(
34
  'tribe-form-content-start',
35
  $display_tab_fields,
@@ -61,7 +118,7 @@ $display_tab_fields = Tribe__Main::array_insert_before_key(
61
  ]
62
  );
63
 
64
- // datepickerFormat
65
  $display_tab_fields = Tribe__Main::array_insert_before_key(
66
  'datepickerFormat',
67
  $display_tab_fields,
@@ -85,7 +142,6 @@ $display_tab_fields = Tribe__Main::array_insert_before_key(
85
  ]
86
  );
87
 
88
- // dateWithYearFormat
89
  $display_tab_fields = Tribe__Main::array_insert_after_key(
90
  'dateWithYearFormat',
91
  $display_tab_fields,
@@ -109,7 +165,6 @@ $display_tab_fields = Tribe__Main::array_insert_after_key(
109
  ]
110
  );
111
 
112
- // dateTimeSeparator
113
  $display_tab_fields = Tribe__Main::array_insert_after_key(
114
  'dateTimeSeparator',
115
  $display_tab_fields,
@@ -125,7 +180,6 @@ $display_tab_fields = Tribe__Main::array_insert_after_key(
125
  ]
126
  );
127
 
128
- // Views
129
  $tribe_enable_views_tooltip = esc_html__( 'You must select at least one view.', 'the-events-calendar' );
130
 
131
  if ( tribe_is_using_basic_gmaps_api() && class_exists( 'Tribe__Events__Pro__Main' ) ) {
@@ -136,96 +190,34 @@ if ( tribe_is_using_basic_gmaps_api() && class_exists( 'Tribe__Events__Pro__Main
136
  );
137
  }
138
 
139
- $stylesheet_choices = [
140
- 'skeleton' => __( 'Skeleton Styles', 'the-events-calendar' )
141
- . '<p class=\'description tribe-style-selection\'>'
142
- . __(
143
- 'Only includes enough css to achieve complex layouts like calendar and week view.',
144
- 'the-events-calendar'
145
- )
146
- .'</p>',
147
- 'tribe' => __( 'Tribe Events Styles', 'the-events-calendar' )
148
- . '<p class=\'description tribe-style-selection\'>'
149
- . __(
150
- 'A fully designed and styled theme for your events pages.',
151
- 'the-events-calendar'
152
- )
153
- . '</p>',
154
- ];
155
-
156
-
157
- // If V2 is enabled, we don't show the (redundant) 'full' option
158
- if ( ! tribe_events_views_v2_is_enabled() ) {
159
- $stylesheet_choices[ 'full' ] = __( 'Full Styles', 'the-events-calendar' )
160
- . '<p class=\'description tribe-style-selection\'>'
161
- . __(
162
- 'More detailed styling, tries to grab styles from your theme.',
163
- 'the-events-calendar'
164
- )
165
- . '</p>';
166
- }
167
-
168
- $stylesheet_option = [
169
- 'type' => 'radio',
170
- 'label' => __( 'Default stylesheet used for events templates', 'the-events-calendar' ),
171
- 'default' => 'tribe',
172
- 'options' => $stylesheet_choices,
173
- 'validation_type' => 'options',
174
- ];
175
-
176
- $stylesheet_mode = [ 'type' => 'html'];
177
-
178
- // If V2 is enabled, we swap the options so we don't overwrite. For backwards compatibility.
179
- if ( tribe_events_views_v2_is_enabled() ) {
180
- $stylesheet_mode = $stylesheet_option;
181
- $stylesheet_option = [ 'type' => 'html' ];
182
- }
183
-
184
- $styling_array = [
185
- 'tribeEventsBasicSettingsTitle' => [
186
- 'type' => 'html',
187
- 'html' => '<h3>' . __( 'Basic Template Settings', 'the-events-calendar' ) . '</h3>',
188
- ],
189
- 'stylesheetOption' => $stylesheet_option,
190
- 'stylesheet_mode' => $stylesheet_mode,
191
- ];
192
-
193
- if ( ! tec_is_full_site_editor() ) {
194
-
195
- $template_options = [
196
- '' => esc_html__( 'Default Events Template', 'the-events-calendar' ),
197
- 'default' => esc_html__( 'Default Page Template', 'the-events-calendar' ),
198
- ];
199
- $templates = get_page_templates();
200
- ksort( $templates );
201
- foreach ( array_keys( $templates ) as $template ) {
202
- $template_options[ $templates[ $template ] ] = $template;
203
- }
204
-
205
- $styling_array['tribeEventsTemplate'] = [
206
- 'type' => 'dropdown',
207
- 'label' => __( 'Events template', 'the-events-calendar' ),
208
- 'tooltip' => __( 'Choose a page template to control the appearance of your calendar and event content.', 'the-events-calendar' ),
209
- 'validation_type' => 'options',
210
- 'size' => 'small',
211
- 'default' => 'default',
212
- 'options' => $template_options,
213
- ];
214
- }
215
-
216
- $styling_array['tribeEnableViews'] = [
217
- 'type' => 'checkbox_list',
218
- 'label' => __( 'Enable event views', 'the-events-calendar' ),
219
- 'tooltip' => $tribe_enable_views_tooltip,
220
- 'default' => array_keys( $views_options ),
221
- 'options' => $views_options,
222
- 'validation_type' => 'options_multi',
223
- ];
224
-
225
  $display_tab_fields = Tribe__Main::array_insert_before_key(
226
  'tribeEventsDateFormatSettingsTitle',
227
  $display_tab_fields,
228
- $styling_array
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  );
230
 
231
  if ( tribe( 'tec.main' )->show_upgrade() ) {
1
  <?php
2
  $tec = Tribe__Events__Main::instance();
3
 
4
+ $template_options = [
5
+ '' => esc_html__( 'Default Events Template', 'the-events-calendar' ),
6
+ 'default' => esc_html__( 'Default Page Template', 'the-events-calendar' ),
7
+ ];
8
+ $templates = get_page_templates();
9
+ ksort( $templates );
10
+ foreach ( array_keys( $templates ) as $template ) {
11
+ $template_options[ $templates[ $template ] ] = $template;
12
+ }
13
+
14
+ $stylesheet_choices = [
15
+ 'skeleton' => __( 'Skeleton Styles', 'the-events-calendar' )
16
+ . '<p class=\'description tribe-style-selection\'>'
17
+ . __(
18
+ 'Only includes enough css to achieve complex layouts like calendar and week view.',
19
+ 'the-events-calendar'
20
+ )
21
+ .'</p>',
22
+ 'full' => __( 'Full Styles', 'the-events-calendar' )
23
+ . '<p class=\'description tribe-style-selection\'>'
24
+ . __(
25
+ 'More detailed styling, tries to grab styles from your theme.',
26
+ 'the-events-calendar'
27
+ )
28
+ . '</p>',
29
+ 'tribe' => __( 'Tribe Events Styles', 'the-events-calendar' )
30
+ . '<p class=\'description tribe-style-selection\'>'
31
+ . __(
32
+ 'A fully designed and styled theme for your events pages.',
33
+ 'the-events-calendar'
34
+ )
35
+ . '</p>',
36
+ ];
37
+
38
+
39
+ // If V2 is enabled, we don't show the (redundant) 'full' option
40
+ if ( tribe_events_views_v2_is_enabled() ) {
41
+ unset( $stylesheet_choices[ 'full' ] ) ;
42
+ }
43
+
44
+ $stylesheet_option = [
45
+ 'type' => 'radio',
46
+ 'label' => __( 'Default stylesheet used for events templates', 'the-events-calendar' ),
47
+ 'default' => 'tribe',
48
+ 'options' => $stylesheet_choices,
49
+ 'validation_type' => 'options',
50
+ ];
51
+
52
+ $stylesheet_mode = [ 'type' => 'html'];
53
+
54
+ // If V2 is enabled, we swap the options so we don't overwrite. For backwards compatibility.
55
+ if ( tribe_events_views_v2_is_enabled() ) {
56
+ $stylesheet_mode = $stylesheet_option;
57
+ $stylesheet_option = [ 'type' => 'html' ];
58
+ }
59
+
60
+
61
+
62
  /**
63
  * Filter the array of views that are registered for the tribe bar
64
  * @param array array() {
87
  $views_options[ $view['displaying'] ] = $view['anchor'];
88
  }
89
 
 
90
  $display_tab_fields = Tribe__Main::array_insert_before_key(
91
  'tribe-form-content-start',
92
  $display_tab_fields,
118
  ]
119
  );
120
 
121
+
122
  $display_tab_fields = Tribe__Main::array_insert_before_key(
123
  'datepickerFormat',
124
  $display_tab_fields,
142
  ]
143
  );
144
 
 
145
  $display_tab_fields = Tribe__Main::array_insert_after_key(
146
  'dateWithYearFormat',
147
  $display_tab_fields,
165
  ]
166
  );
167
 
 
168
  $display_tab_fields = Tribe__Main::array_insert_after_key(
169
  'dateTimeSeparator',
170
  $display_tab_fields,
180
  ]
181
  );
182
 
 
183
  $tribe_enable_views_tooltip = esc_html__( 'You must select at least one view.', 'the-events-calendar' );
184
 
185
  if ( tribe_is_using_basic_gmaps_api() && class_exists( 'Tribe__Events__Pro__Main' ) ) {
190
  );
191
  }
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  $display_tab_fields = Tribe__Main::array_insert_before_key(
194
  'tribeEventsDateFormatSettingsTitle',
195
  $display_tab_fields,
196
+ [
197
+ 'tribeEventsBasicSettingsTitle' => [
198
+ 'type' => 'html',
199
+ 'html' => '<h3>' . __( 'Basic Template Settings', 'the-events-calendar' ) . '</h3>',
200
+ ],
201
+ 'stylesheetOption' => $stylesheet_option,
202
+ 'stylesheet_mode' => $stylesheet_mode,
203
+ 'tribeEventsTemplate' => [
204
+ 'type' => 'dropdown',
205
+ 'label' => __( 'Events template', 'the-events-calendar' ),
206
+ 'tooltip' => __( 'Choose a page template to control the appearance of your calendar and event content.', 'the-events-calendar' ),
207
+ 'validation_type' => 'options',
208
+ 'size' => 'small',
209
+ 'default' => 'default',
210
+ 'options' => $template_options,
211
+ ],
212
+ 'tribeEnableViews' => [
213
+ 'type' => 'checkbox_list',
214
+ 'label' => __( 'Enable event views', 'the-events-calendar' ),
215
+ 'tooltip' => $tribe_enable_views_tooltip,
216
+ 'default' => array_keys( $views_options ),
217
+ 'options' => $views_options,
218
+ 'validation_type' => 'options_multi',
219
+ ],
220
+ ]
221
  );
222
 
223
  if ( tribe( 'tec.main' )->show_upgrade() ) {
src/admin-views/tribe-options-general.php CHANGED
@@ -20,7 +20,7 @@ $general_tab_fields = Tribe__Main::array_insert_after_key(
20
  ],
21
  'view-calendar-link' => [
22
  'type' => 'html',
23
- 'html' => '<p>' . esc_html__( 'Where\'s my calendar?', 'the-events-calendar' ) . ' <a href="' . esc_url( Tribe__Events__Main::instance()->getLink() ) . '">' . esc_html__( 'Right here', 'the-events-calendar' ) . '</a>.</p>',
24
  ],
25
  ]
26
  );
@@ -223,14 +223,14 @@ $general_tab_fields = Tribe__Main::array_insert_after_key(
223
  'html' =>
224
  '<fieldset class="tribe-field tribe-field-html"><legend>' .
225
  esc_html__( 'View Welcome Page', 'the-events-calendar' ) .
226
- '</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url( [ Tribe__Events__Main::instance()->activation_page->welcome_slug => 1 ] ) . '" class="button">' . esc_html__( 'View Welcome Page', 'the-events-calendar' ) . '</a><p class="tribe-field-indent description">' . esc_html__( 'View the page that displayed when you initially installed the plugin.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
227
  ],
228
  'viewUpdatePage' => [
229
  'type' => 'html',
230
  'html' =>
231
  '<fieldset class="tribe-field tribe-field-html"><legend>' .
232
  esc_html__( 'View Update Page', 'the-events-calendar' ) .
233
- '</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url( [ Tribe__Events__Main::instance()->activation_page->update_slug => 1 ] ) . '" class="button">' . esc_html__( 'View Update Page', 'the-events-calendar' ) . '</a><p class="tribe-field-indent description">' . esc_html__( 'View the page that displayed when you updated the plugin.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
234
  ],
235
  ]
236
  );
20
  ],
21
  'view-calendar-link' => [
22
  'type' => 'html',
23
+ 'html' => '<p>' . esc_html__( 'Where\'s my calendar?', 'the-events-calendar' ) . ' <a href="' . esc_url( tribe( 'tec.main' )->getLink() ) . '">' . esc_html__( 'Right here', 'the-events-calendar' ) . '</a>.</p>',
24
  ],
25
  ]
26
  );
223
  'html' =>
224
  '<fieldset class="tribe-field tribe-field-html"><legend>' .
225
  esc_html__( 'View Welcome Page', 'the-events-calendar' ) .
226
+ '</legend><div class="tribe-field-wrap"><a href="' . tribe( 'tec.main' )->settings()->get_url( [ Tribe__Events__Main::instance()->activation_page->welcome_slug => 1 ] ) . '" class="button">' . esc_html__( 'View Welcome Page', 'the-events-calendar' ) . '</a><p class="tribe-field-indent description">' . esc_html__( 'View the page that displayed when you initially installed the plugin.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
227
  ],
228
  'viewUpdatePage' => [
229
  'type' => 'html',
230
  'html' =>
231
  '<fieldset class="tribe-field tribe-field-html"><legend>' .
232
  esc_html__( 'View Update Page', 'the-events-calendar' ) .
233
+ '</legend><div class="tribe-field-wrap"><a href="' . tribe( 'tec.main' )->settings()->get_url( [ Tribe__Events__Main::instance()->activation_page->update_slug => 1 ] ) . '" class="button">' . esc_html__( 'View Update Page', 'the-events-calendar' ) . '</a><p class="tribe-field-indent description">' . esc_html__( 'View the page that displayed when you updated the plugin.', 'the-events-calendar' ) . '</p></div></fieldset><div class="clear"></div>',
234
  ],
235
  ]
236
  );
{common/src → src}/admin-views/tribe-options-network.php RENAMED
@@ -23,12 +23,11 @@ $networkTab = [
23
  'html' => '</div>',
24
  ],
25
  'hideSettingsTabs' => [
26
- 'type' => 'checkbox_list',
27
- 'label' => esc_html__( 'Hide the following settings tabs on every site:', 'tribe-common' ),
28
- 'default' => false,
29
- 'options' => $allTabs,
30
- 'validation_type' => 'options_multi',
31
- 'can_be_empty' => true,
32
  ],
33
  ]
34
  ),
23
  'html' => '</div>',
24
  ],
25
  'hideSettingsTabs' => [
26
+ 'type' => 'checkbox_list',
27
+ 'label' => esc_html__( 'Hide the following settings tabs on every site:', 'tribe-common' ),
28
+ 'default' => false,
29
+ 'options' => $allTabs,
30
+ 'can_be_empty' => true,
 
31
  ],
32
  ]
33
  ),
src/admin-views/tribe-options-timezones.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  }
6
 
7
  $enable_button_label = esc_html__( 'Enable Time Zone support', 'the-events-calendar' );
8
- $enable_button_url = esc_url( wp_nonce_url( add_query_arg( 'timezone-update', '1', Tribe__Settings::instance()->get_url() ), 'timezone-settings' ) );
9
  $enable_button_text = esc_html__( 'Update Time Zone Data', 'the-events-calendar' );
10
  $enable_button_help = sprintf( __( 'Click this button to update your database and take advantage of additional time zone capabilities. Please <a href="%s" target="_blank">configure WordPress</a> to use the correct time zone before clicking this button!', 'the-events-calendar' ),
11
  esc_url( get_admin_url( null, 'options-general.php' ) )
5
  }
6
 
7
  $enable_button_label = esc_html__( 'Enable Time Zone support', 'the-events-calendar' );
8
+ $enable_button_url = esc_url( wp_nonce_url( add_query_arg( 'timezone-update', '1', tribe( 'tec.main' )->settings()->get_url() ), 'timezone-settings' ) );
9
  $enable_button_text = esc_html__( 'Update Time Zone Data', 'the-events-calendar' );
10
  $enable_button_help = sprintf( __( 'Click this button to update your database and take advantage of additional time zone capabilities. Please <a href="%s" target="_blank">configure WordPress</a> to use the correct time zone before clicking this button!', 'the-events-calendar' ),
11
  esc_url( get_admin_url( null, 'options-general.php' ) )
src/admin-views/tribe-options-upgrade.php CHANGED
@@ -106,7 +106,7 @@
106
  </ul>
107
 
108
  <button type="submit"><?php esc_html_e( 'Let\'s go!', 'the-events-calendar' ); ?></button>
109
- <a href="<?php echo esc_url( Tribe__Settings::instance()->get_url() ); ?>" rel="noopener"><?php esc_html_e( 'I\'m not ready', 'the-events-calendar' ); ?></a>
110
 
111
  <div class="step"><?php esc_html_e( 'Step 2 of 2', 'the-events-calendar' ); ?></div>
112
  </div>
106
  </ul>
107
 
108
  <button type="submit"><?php esc_html_e( 'Let\'s go!', 'the-events-calendar' ); ?></button>
109
+ <a href="<?php echo esc_url( tribe( 'tec.main' )->settings()->get_url() ); ?>" rel="noopener"><?php esc_html_e( 'I\'m not ready', 'the-events-calendar' ); ?></a>
110
 
111
  <div class="step"><?php esc_html_e( 'Step 2 of 2', 'the-events-calendar' ); ?></div>
112
  </div>
src/functions/template-tags/organizer.php CHANGED
@@ -437,15 +437,13 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
437
  $url = "http://$url";
438
  }
439
  }
440
-
441
  $html = sprintf(
442
- '<a href="%1$s" target="%2$s" rel="%3$s">%4$s</a>',
443
  esc_attr( esc_url( $url ) ),
444
  esc_attr( $target ),
445
  esc_attr( $rel ),
446
  esc_html( $label )
447
  );
448
-
449
  } else {
450
  $html = '';
451
  }
437
  $url = "http://$url";
438
  }
439
  }
 
440
  $html = sprintf(
441
+ '<a href="%s" target="%s" rel="%s">%s</a>',
442
  esc_attr( esc_url( $url ) ),
443
  esc_attr( $target ),
444
  esc_attr( $rel ),
445
  esc_html( $label )
446
  );
 
447
  } else {
448
  $html = '';
449
  }
src/functions/template-tags/venue.php CHANGED
@@ -773,7 +773,7 @@ if ( class_exists( 'Tribe__Events__Main' ) ) {
773
  $website_link_label = apply_filters( 'tribe_get_venue_website_link_label', esc_html( $label ), $post_id );
774
 
775
  $html = sprintf(
776
- '<a href="%1$s" target="%2$s" rel="%3$s">%4$s</a>',
777
  esc_attr( esc_url( $url ) ),
778
  esc_attr( $website_link_target ),
779
  esc_attr( $rel ),
773
  $website_link_label = apply_filters( 'tribe_get_venue_website_link_label', esc_html( $label ), $post_id );
774
 
775
  $html = sprintf(
776
+ '<a href="%s" target="%s" rel="%s">%s</a>',
777
  esc_attr( esc_url( $url ) ),
778
  esc_attr( $website_link_target ),
779
  esc_attr( $rel ),
src/resources/css/admin-menu.min.css CHANGED
@@ -1 +1 @@
1
- #wpadminbar #wp-admin-bar-tribe-events .ab-group-container>.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-tribe-events #wp-admin-bar-tribe-events-group{padding-bottom:0}#wpadminbar #wp-admin-bar-tribe-events #wp-admin-bar-tribe-events-settings-group{padding-top:0}
1
+ #adminmenu .menu-icon-tribe_events div.wp-menu-image.svg{background-size:18px}#wpadminbar #wp-admin-bar-tribe-events .ab-group-container>.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-tribe-events #wp-admin-bar-tribe-events-group{padding-bottom:0}#wpadminbar #wp-admin-bar-tribe-events #wp-admin-bar-tribe-events-settings-group{padding-top:0}#wpadminbar #wp-admin-bar-tribe-events .tec-events-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNhN2FhYWQiIHZpZXdCb3g9IjAgMCAxMy4yNCAxNS40Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGwtcnVsZTpldmVub2RkO308L3N0eWxlPjwvZGVmcz48ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIj48ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEyLjg5LDYuMSwxMS41NCwyLjJsMC0uMDZBMS44NSwxLjg1LDAsMCwwLDkuMTQsMS4wNmwtLjczLjI2TDgsLjI5djBBLjQ1LjQ1LDAsMCwwLDcuNDcsMGEuNDMuNDMsMCwwLDAtLjI1LjIzQS40NS40NSwwLDAsMCw3LjIuNmwuMzcsMUwyLjc1LDMuMzlsLS4zNi0xLDAtLjA1YS40NC40NCwwLDAsMC0uNTYtLjIyLjQ0LjQ0LDAsMCwwLS4yNi41N2wuMzYsMUwxLjE3LDRBMS44NiwxLjg2LDAsMCwwLC4xMSw2LjMzTDMuMTksMTVhLjY2LjY2LDAsMCwwLC42MS40LjU5LjU5LDAsMCwwLC4yMywwTDcuNCwxNC4xM2wwLDAsLjEsMGE1LDUsMCwwLDAsMi0yLjQ3Yy4xMS0uMjQuMjEtLjQ5LjMxLS43N2wuMjctLjcyLjA3LS4xOWE0LjMsNC4zLDAsMCwwLDItLjM5LDMuMTMsMy4xMywwLDAsMS0xLjcyLDIuMy40My40MywwLDAsMC0uMjUuMjMuNDUuNDUsMCwwLDAsMCwuMzQuNDIuNDIsMCwwLDAsLjIzLjI2LjQ1LjQ1LDAsMCwwLC4zNCwwQzEzLjEzLDExLjg3LDEzLjcyLDguNjQsMTIuODksNi4xWm0tLjU2LDEuODFhLjc5Ljc5LDAsMCwxLS4yNS41OEEyLjg1LDIuODUsMCwwLDEsMTAsOWMtLjM5LDAtLjUxLjIyLS42OC42N0w5LDEwLjUyYy0uMS4yNi0uMTkuNDktLjI5LjcxYTQuMzIsNC4zMiwwLDAsMS0xLjU5LDJMMy45NCwxNC40NCwxLjcsOC4xMmw5Ljc0LTMuNDYuNjMsMS44MmE1LjExLDUuMTEsMCwwLDEsLjI2LDEuMzVWNy45WiIvPjwvZz48L2c+PC9zdmc+")!important;background-position:0 6px;background-repeat:no-repeat;background-size:17px;float:left;height:30px;width:24px}
src/views/blocks/archive-events.php DELETED
@@ -1,24 +0,0 @@
1
- <?php
2
- /**
3
- * View: Default Template for the Archive of Events on FSE
4
- *
5
- * Override this template in your own theme by creating a file at:
6
- * [your-theme]/tribe/events/blocks/archive-events.php
7
- *
8
- * See more documentation about our views templating system.
9
- *
10
- * @link http://evnt.is/1aiy
11
- *
12
- * @version 5.13.0
13
- */
14
-
15
- use Tribe\Events\Views\V2\Assets as Event_Assets;
16
- use Tribe\Events\Views\V2\Template_Bootstrap;
17
-
18
- tribe_asset_enqueue_group( Event_Assets::$group_key );
19
- tribe_asset_enqueue( 'tec-events-iframe-content-resizer' );
20
- ?>
21
-
22
- <div class="tribe-block tribe-block__archive-events">
23
- <?php echo tribe( Template_Bootstrap::class )->get_view_html(); ?>
24
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.14.2.1
6
  * Author: The Events Calendar
7
  * Author URI: https://evnt.is/1x
8
  * Text Domain: the-events-calendar
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.15.0
6
  * Author: The Events Calendar
7
  * Author URI: https://evnt.is/1x
8
  * Text Domain: the-events-calendar
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit72970b28e3f6a9b8bf8e7c234e09578c::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInita9020eeb086f77feb9bf428584a6e13f::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -6,17 +6,15 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
- 'TEC\\Events\\Editor\\Full_Site\\Hooks' => $baseDir . '/src/Events/Editor/Full_Site/Hooks.php',
10
- 'TEC\\Events\\Editor\\Full_Site\\Provider' => $baseDir . '/src/Events/Editor/Full_Site/Provider.php',
11
- 'TEC\\Events\\Editor\\Full_Site\\Templates' => $baseDir . '/src/Events/Editor/Full_Site/Templates.php',
12
  'TEC\\Events\\Legacy\\Views\\V1\\Provider' => $baseDir . '/src/Events/Legacy/Views/V1/Provider.php',
13
  'Tribe\\Events\\Admin\\Filter_Bar\\Provider' => $baseDir . '/src/Tribe/Admin/Filter_Bar/Provider.php',
14
  'Tribe\\Events\\Admin\\Notice\\Full_Site_Editor' => $baseDir . '/src/Tribe/Admin/Notice/Full_Site_Editor.php',
15
  'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => $baseDir . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
 
 
16
  'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => $baseDir . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
17
  'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => $baseDir . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
18
  'Tribe\\Events\\Collections\\Lazy_Post_Collection' => $baseDir . '/src/Tribe/Collections/Lazy_Post_Collection.php',
19
- 'Tribe\\Events\\Editor\\Blocks\\Archive_Events' => $baseDir . '/src/Tribe/Editor/Blocks/Archive_Events.php',
20
  'Tribe\\Events\\Editor\\Hooks' => $baseDir . '/src/Tribe/Editor/Hooks.php',
21
  'Tribe\\Events\\Editor\\Objects\\Editor_Object_Interface' => $baseDir . '/src/Tribe/Editor/Objects/Editor_Object_Interface.php',
22
  'Tribe\\Events\\Editor\\Objects\\Event' => $baseDir . '/src/Tribe/Editor/Objects/Event.php',
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
 
 
9
  'TEC\\Events\\Legacy\\Views\\V1\\Provider' => $baseDir . '/src/Events/Legacy/Views/V1/Provider.php',
10
  'Tribe\\Events\\Admin\\Filter_Bar\\Provider' => $baseDir . '/src/Tribe/Admin/Filter_Bar/Provider.php',
11
  'Tribe\\Events\\Admin\\Notice\\Full_Site_Editor' => $baseDir . '/src/Tribe/Admin/Notice/Full_Site_Editor.php',
12
  'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => $baseDir . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
13
+ 'Tribe\\Events\\Admin\\Provider' => $baseDir . '/src/Tribe/Admin/Provider.php',
14
+ 'Tribe\\Events\\Admin\\Settings' => $baseDir . '/src/Tribe/Admin/Settings.php',
15
  'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => $baseDir . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
16
  'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => $baseDir . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
17
  'Tribe\\Events\\Collections\\Lazy_Post_Collection' => $baseDir . '/src/Tribe/Collections/Lazy_Post_Collection.php',
 
18
  'Tribe\\Events\\Editor\\Hooks' => $baseDir . '/src/Tribe/Editor/Hooks.php',
19
  'Tribe\\Events\\Editor\\Objects\\Editor_Object_Interface' => $baseDir . '/src/Tribe/Editor/Objects/Editor_Object_Interface.php',
20
  'Tribe\\Events\\Editor\\Objects\\Event' => $baseDir . '/src/Tribe/Editor/Objects/Event.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit72970b28e3f6a9b8bf8e7c234e09578c
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit72970b28e3f6a9b8bf8e7c234e09578c
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit72970b28e3f6a9b8bf8e7c234e09578c', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit72970b28e3f6a9b8bf8e7c234e09578c', '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\ComposerStaticInit72970b28e3f6a9b8bf8e7c234e09578c::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 ComposerAutoloaderInita9020eeb086f77feb9bf428584a6e13f
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInita9020eeb086f77feb9bf428584a6e13f', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInita9020eeb086f77feb9bf428584a6e13f', '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\ComposerStaticInita9020eeb086f77feb9bf428584a6e13f::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 ComposerStaticInit72970b28e3f6a9b8bf8e7c234e09578c
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
@@ -26,17 +26,15 @@ class ComposerStaticInit72970b28e3f6a9b8bf8e7c234e09578c
26
  );
27
 
28
  public static $classMap = array (
29
- 'TEC\\Events\\Editor\\Full_Site\\Hooks' => __DIR__ . '/../..' . '/src/Events/Editor/Full_Site/Hooks.php',
30
- 'TEC\\Events\\Editor\\Full_Site\\Provider' => __DIR__ . '/../..' . '/src/Events/Editor/Full_Site/Provider.php',
31
- 'TEC\\Events\\Editor\\Full_Site\\Templates' => __DIR__ . '/../..' . '/src/Events/Editor/Full_Site/Templates.php',
32
  'TEC\\Events\\Legacy\\Views\\V1\\Provider' => __DIR__ . '/../..' . '/src/Events/Legacy/Views/V1/Provider.php',
33
  'Tribe\\Events\\Admin\\Filter_Bar\\Provider' => __DIR__ . '/../..' . '/src/Tribe/Admin/Filter_Bar/Provider.php',
34
  'Tribe\\Events\\Admin\\Notice\\Full_Site_Editor' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Full_Site_Editor.php',
35
  'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
 
 
36
  'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
37
  'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
38
  'Tribe\\Events\\Collections\\Lazy_Post_Collection' => __DIR__ . '/../..' . '/src/Tribe/Collections/Lazy_Post_Collection.php',
39
- 'Tribe\\Events\\Editor\\Blocks\\Archive_Events' => __DIR__ . '/../..' . '/src/Tribe/Editor/Blocks/Archive_Events.php',
40
  'Tribe\\Events\\Editor\\Hooks' => __DIR__ . '/../..' . '/src/Tribe/Editor/Hooks.php',
41
  'Tribe\\Events\\Editor\\Objects\\Editor_Object_Interface' => __DIR__ . '/../..' . '/src/Tribe/Editor/Objects/Editor_Object_Interface.php',
42
  'Tribe\\Events\\Editor\\Objects\\Event' => __DIR__ . '/../..' . '/src/Tribe/Editor/Objects/Event.php',
@@ -145,9 +143,9 @@ class ComposerStaticInit72970b28e3f6a9b8bf8e7c234e09578c
145
  public static function getInitializer(ClassLoader $loader)
146
  {
147
  return \Closure::bind(function () use ($loader) {
148
- $loader->prefixLengthsPsr4 = ComposerStaticInit72970b28e3f6a9b8bf8e7c234e09578c::$prefixLengthsPsr4;
149
- $loader->prefixDirsPsr4 = ComposerStaticInit72970b28e3f6a9b8bf8e7c234e09578c::$prefixDirsPsr4;
150
- $loader->classMap = ComposerStaticInit72970b28e3f6a9b8bf8e7c234e09578c::$classMap;
151
 
152
  }, null, ClassLoader::class);
153
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInita9020eeb086f77feb9bf428584a6e13f
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'T' =>
26
  );
27
 
28
  public static $classMap = array (
 
 
 
29
  'TEC\\Events\\Legacy\\Views\\V1\\Provider' => __DIR__ . '/../..' . '/src/Events/Legacy/Views/V1/Provider.php',
30
  'Tribe\\Events\\Admin\\Filter_Bar\\Provider' => __DIR__ . '/../..' . '/src/Tribe/Admin/Filter_Bar/Provider.php',
31
  'Tribe\\Events\\Admin\\Notice\\Full_Site_Editor' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Full_Site_Editor.php',
32
  'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
33
+ 'Tribe\\Events\\Admin\\Provider' => __DIR__ . '/../..' . '/src/Tribe/Admin/Provider.php',
34
+ 'Tribe\\Events\\Admin\\Settings' => __DIR__ . '/../..' . '/src/Tribe/Admin/Settings.php',
35
  'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
36
  'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
37
  'Tribe\\Events\\Collections\\Lazy_Post_Collection' => __DIR__ . '/../..' . '/src/Tribe/Collections/Lazy_Post_Collection.php',
 
38
  'Tribe\\Events\\Editor\\Hooks' => __DIR__ . '/../..' . '/src/Tribe/Editor/Hooks.php',
39
  'Tribe\\Events\\Editor\\Objects\\Editor_Object_Interface' => __DIR__ . '/../..' . '/src/Tribe/Editor/Objects/Editor_Object_Interface.php',
40
  'Tribe\\Events\\Editor\\Objects\\Event' => __DIR__ . '/../..' . '/src/Tribe/Editor/Objects/Event.php',
143
  public static function getInitializer(ClassLoader $loader)
144
  {
145
  return \Closure::bind(function () use ($loader) {
146
+ $loader->prefixLengthsPsr4 = ComposerStaticInita9020eeb086f77feb9bf428584a6e13f::$prefixLengthsPsr4;
147
+ $loader->prefixDirsPsr4 = ComposerStaticInita9020eeb086f77feb9bf428584a6e13f::$prefixDirsPsr4;
148
+ $loader->classMap = ComposerStaticInita9020eeb086f77feb9bf428584a6e13f::$classMap;
149
 
150
  }, null, ClassLoader::class);
151
  }