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 | Camwynsp |
| Plugin | |
| Version | 5.16.4 |
| Comparing to | |
| See all releases | |
Code changes from version 5.16.3.1 to 5.16.4
- common/src/Tribe/Terms.php +12 -0
- common/src/Tribe/Tracker.php +4 -0
- common/vendor/autoload.php +1 -1
- common/vendor/autoload_52.php +1 -1
- common/vendor/composer/autoload_real.php +4 -4
- common/vendor/composer/autoload_real_52.php +3 -3
- common/vendor/composer/autoload_static.php +5 -5
- lang/the-events-calendar-bg_BG.mo +0 -0
- lang/the-events-calendar-de_CH.mo +0 -0
- lang/the-events-calendar-es_ES.mo +0 -0
- lang/the-events-calendar-nl_BE.mo +0 -0
- lang/the-events-calendar-nl_NL.mo +0 -0
- lang/the-events-calendar-pt_BR.mo +0 -0
- lang/the-events-calendar-ro_RO.mo +0 -0
- lang/the-events-calendar-zh_CN.mo +0 -0
- lang/the-events-calendar.pot +44 -44
- readme.txt +10 -2
- src/Tribe/Main.php +1 -1
- src/Tribe/REST/V1/Endpoints/Archive_Event.php +8 -0
- src/Tribe/Rewrite.php +1 -1
- src/Tribe/Validator/Base.php +26 -0
- src/Tribe/Validator/Interface.php +11 -0
- src/Tribe/Views/V2/Assets.php +21 -0
- src/Tribe/Views/V2/Hooks.php +60 -0
- src/Tribe/Views/V2/Template.php +1 -1
- src/resources/css/views-print.min.css +1 -0
- the-events-calendar.php +2 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +4 -4
common/src/Tribe/Terms.php
CHANGED
|
@@ -22,12 +22,23 @@ class Tribe__Terms {
|
|
| 22 |
continue;
|
| 23 |
}
|
| 24 |
|
|
|
|
|
|
|
| 25 |
if ( $term instanceof WP_Term ) {
|
|
|
|
| 26 |
$term_info = $term->to_array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
} elseif ( is_numeric( $term ) ) {
|
|
|
|
| 28 |
$term = absint( $term );
|
| 29 |
$term_info = get_term( $term, $taxonomy, ARRAY_A );
|
| 30 |
} else {
|
|
|
|
| 31 |
$term_info = term_exists( $term, $taxonomy );
|
| 32 |
}
|
| 33 |
|
|
@@ -37,6 +48,7 @@ class Tribe__Terms {
|
|
| 37 |
continue;
|
| 38 |
}
|
| 39 |
|
|
|
|
| 40 |
if ( true == $create_missing ) {
|
| 41 |
$term_info = wp_insert_term( $term, $taxonomy );
|
| 42 |
} else {
|
| 22 |
continue;
|
| 23 |
}
|
| 24 |
|
| 25 |
+
$is_string = is_string( $term );
|
| 26 |
+
|
| 27 |
if ( $term instanceof WP_Term ) {
|
| 28 |
+
// We already have the term object.
|
| 29 |
$term_info = $term->to_array();
|
| 30 |
+
} elseif ( $is_string && get_term_by( 'slug', $term, $taxonomy ) ) {
|
| 31 |
+
// We have a matching term slug.
|
| 32 |
+
$term_info = get_term_by( 'slug', $term, $taxonomy )->to_array();
|
| 33 |
+
} elseif ( $is_string && get_term_by( 'name', $term, $taxonomy ) ) {
|
| 34 |
+
// We have a matching term name.
|
| 35 |
+
$term_info = get_term_by( 'name', $term, $taxonomy )->to_array();
|
| 36 |
} elseif ( is_numeric( $term ) ) {
|
| 37 |
+
// We have a matching term ID.
|
| 38 |
$term = absint( $term );
|
| 39 |
$term_info = get_term( $term, $taxonomy, ARRAY_A );
|
| 40 |
} else {
|
| 41 |
+
// Fallback
|
| 42 |
$term_info = term_exists( $term, $taxonomy );
|
| 43 |
}
|
| 44 |
|
| 48 |
continue;
|
| 49 |
}
|
| 50 |
|
| 51 |
+
// Passed a string - (optionally) create a new term.
|
| 52 |
if ( true == $create_missing ) {
|
| 53 |
$term_info = wp_insert_term( $term, $taxonomy );
|
| 54 |
} else {
|
common/src/Tribe/Tracker.php
CHANGED
|
@@ -282,8 +282,12 @@ class Tribe__Tracker {
|
|
| 282 |
// If we got here we will update the Modified Meta
|
| 283 |
$modified[ $meta_key ] = $now;
|
| 284 |
|
|
|
|
|
|
|
| 285 |
// Actually do the Update
|
| 286 |
update_post_meta( $post->ID, self::$field_key, $modified );
|
|
|
|
|
|
|
| 287 |
|
| 288 |
// We need to return this, because we are still on a filter
|
| 289 |
return $check;
|
| 282 |
// If we got here we will update the Modified Meta
|
| 283 |
$modified[ $meta_key ] = $now;
|
| 284 |
|
| 285 |
+
// Avoid loops!
|
| 286 |
+
remove_filter( 'update_post_metadata', [ $this, 'filter_watch_updated_meta' ], PHP_INT_MAX - 1 );
|
| 287 |
// Actually do the Update
|
| 288 |
update_post_meta( $post->ID, self::$field_key, $modified );
|
| 289 |
+
// Safe to filter again.
|
| 290 |
+
add_filter( 'update_post_metadata', [ $this, 'filter_watch_updated_meta' ], PHP_INT_MAX - 1, 5 );
|
| 291 |
|
| 292 |
// We need to return this, because we are still on a filter
|
| 293 |
return $check;
|
common/vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInitbdacef9734b332e220fd89a7ce275183::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
|
| 4 |
|
| 5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInitd2717fafe217e404b092245b21f6a808::getLoader();
|
common/vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit7604a0f54a8e958278f96bf616a32ea6
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 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\
|
| 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 ComposerAutoloaderInitbdacef9734b332e220fd89a7ce275183
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInitbdacef9734b332e220fd89a7ce275183', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitbdacef9734b332e220fd89a7ce275183', '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\ComposerStaticInitbdacef9734b332e220fd89a7ce275183::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
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitcb11e2bfb2c1ad9e574ceed2f056f238 {
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$vendorDir = dirname(dirname(__FILE__));
|
| 27 |
$baseDir = dirname($vendorDir);
|
| 2 |
|
| 3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInitd2717fafe217e404b092245b21f6a808 {
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInitd2717fafe217e404b092245b21f6a808', 'loadClassLoader'), true /*, true */);
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitd2717fafe217e404b092245b21f6a808', '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
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
|
@@ -269,10 +269,10 @@ class ComposerStaticInit7604a0f54a8e958278f96bf616a32ea6
|
|
| 269 |
public static function getInitializer(ClassLoader $loader)
|
| 270 |
{
|
| 271 |
return \Closure::bind(function () use ($loader) {
|
| 272 |
-
$loader->prefixLengthsPsr4 =
|
| 273 |
-
$loader->prefixDirsPsr4 =
|
| 274 |
-
$loader->prefixesPsr0 =
|
| 275 |
-
$loader->classMap =
|
| 276 |
|
| 277 |
}, null, ClassLoader::class);
|
| 278 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInitbdacef9734b332e220fd89a7ce275183
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
| 269 |
public static function getInitializer(ClassLoader $loader)
|
| 270 |
{
|
| 271 |
return \Closure::bind(function () use ($loader) {
|
| 272 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitbdacef9734b332e220fd89a7ce275183::$prefixLengthsPsr4;
|
| 273 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitbdacef9734b332e220fd89a7ce275183::$prefixDirsPsr4;
|
| 274 |
+
$loader->prefixesPsr0 = ComposerStaticInitbdacef9734b332e220fd89a7ce275183::$prefixesPsr0;
|
| 275 |
+
$loader->classMap = ComposerStaticInitbdacef9734b332e220fd89a7ce275183::$classMap;
|
| 276 |
|
| 277 |
}, null, ClassLoader::class);
|
| 278 |
}
|
lang/the-events-calendar-bg_BG.mo
CHANGED
|
Binary file
|
lang/the-events-calendar-de_CH.mo
CHANGED
|
Binary file
|
lang/the-events-calendar-es_ES.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-pt_BR.mo
CHANGED
|
Binary file
|
lang/the-events-calendar-ro_RO.mo
CHANGED
|
Binary file
|
lang/the-events-calendar-zh_CN.mo
CHANGED
|
Binary file
|
lang/the-events-calendar.pot
CHANGED
|
@@ -2,14 +2,14 @@
|
|
| 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.16.
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
| 7 |
"calendar\n"
|
| 8 |
-
"POT-Creation-Date: 2022-
|
| 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-
|
| 13 |
"Last-Translator: \n"
|
| 14 |
"Language-Team: \n"
|
| 15 |
|
|
@@ -64,12 +64,12 @@ msgstr ""
|
|
| 64 |
#: src/Tribe/Admin/Bar/Default_Configurator.php:64
|
| 65 |
#: src/Tribe/Linked_Posts/Chooser_Meta_Box.php:210 src/Tribe/Main.php:2214
|
| 66 |
#: src/Tribe/Main.php:5552 src/Tribe/Main.php:5599 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:75
|
| 72 |
-
#: src/Tribe/Aggregator/Page.php:
|
| 73 |
#: src/admin-views/aggregator/tabs/import-form.php:307
|
| 74 |
msgid "Import"
|
| 75 |
msgstr ""
|
|
@@ -194,8 +194,8 @@ msgstr ""
|
|
| 194 |
|
| 195 |
#: src/Tribe/Admin/Timezone_Updater.php:87
|
| 196 |
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:59
|
| 197 |
-
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:
|
| 198 |
-
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:
|
| 199 |
msgid "%d%% complete"
|
| 200 |
msgstr ""
|
| 201 |
|
|
@@ -595,19 +595,19 @@ msgid ""
|
|
| 595 |
"being generated."
|
| 596 |
msgstr ""
|
| 597 |
|
| 598 |
-
#: src/Tribe/Aggregator/Page.php:
|
| 599 |
msgid "Events Import"
|
| 600 |
msgstr ""
|
| 601 |
|
| 602 |
-
#: src/Tribe/Aggregator/Page.php:
|
| 603 |
msgid "Facebook Events"
|
| 604 |
msgstr ""
|
| 605 |
|
| 606 |
-
#: src/Tribe/Aggregator/Page.php:
|
| 607 |
msgid "iCal Importer"
|
| 608 |
msgstr ""
|
| 609 |
|
| 610 |
-
#: src/Tribe/Aggregator/Page.php:
|
| 611 |
msgid ""
|
| 612 |
"It looks like you are using our legacy plugin, %1$s, along with our new "
|
| 613 |
"Event Aggregator service. Event Aggregator includes all the features of the "
|
|
@@ -621,7 +621,7 @@ msgid_plural ""
|
|
| 621 |
msgstr[0] ""
|
| 622 |
msgstr[1] ""
|
| 623 |
|
| 624 |
-
#: src/Tribe/Aggregator/Page.php:
|
| 625 |
msgid "Manage Active Plugins"
|
| 626 |
msgstr ""
|
| 627 |
|
|
@@ -953,25 +953,25 @@ msgstr ""
|
|
| 953 |
msgid "Completed!"
|
| 954 |
msgstr ""
|
| 955 |
|
| 956 |
-
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:
|
| 957 |
msgid ""
|
| 958 |
"Your import is currently in progress. Don't worry, you can safely navigate "
|
| 959 |
"away–the import will continue in the background."
|
| 960 |
msgstr ""
|
| 961 |
|
| 962 |
-
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:
|
| 963 |
msgid "Created:"
|
| 964 |
msgstr ""
|
| 965 |
|
| 966 |
-
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:
|
| 967 |
msgid "Updated:"
|
| 968 |
msgstr ""
|
| 969 |
|
| 970 |
-
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:
|
| 971 |
msgid "Skipped:"
|
| 972 |
msgstr ""
|
| 973 |
|
| 974 |
-
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:
|
| 975 |
msgid ""
|
| 976 |
"Unable to continue inserting data. Please reload this page to continue/try "
|
| 977 |
"again."
|
|
@@ -2821,9 +2821,9 @@ msgstr ""
|
|
| 2821 |
msgid "Upcoming Events"
|
| 2822 |
msgstr ""
|
| 2823 |
|
| 2824 |
-
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.16.
|
| 2825 |
#. Plugin Name of the plugin/theme
|
| 2826 |
-
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.16.
|
| 2827 |
#. Author of the plugin/theme
|
| 2828 |
#: src/Tribe/Main.php:1021 src/Tribe/Main.php:1559 src/Tribe/Privacy.php:29
|
| 2829 |
#: src/admin-views/admin-welcome-message.php:29
|
|
@@ -3475,29 +3475,29 @@ msgstr ""
|
|
| 3475 |
msgid "Error"
|
| 3476 |
msgstr ""
|
| 3477 |
|
| 3478 |
-
#: src/Tribe/Organizer.php:
|
| 3479 |
msgid "Organizer"
|
| 3480 |
msgstr ""
|
| 3481 |
|
| 3482 |
-
#: src/Tribe/Organizer.php:
|
| 3483 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:207
|
| 3484 |
#: src/functions/template-tags/organizer.php:158
|
| 3485 |
msgid "Organizers"
|
| 3486 |
msgstr ""
|
| 3487 |
|
| 3488 |
-
#: src/Tribe/Organizer.php:
|
| 3489 |
msgid "organizer"
|
| 3490 |
msgstr ""
|
| 3491 |
|
| 3492 |
-
#: src/Tribe/Organizer.php:
|
| 3493 |
msgid "organizers"
|
| 3494 |
msgstr ""
|
| 3495 |
|
| 3496 |
-
#: src/Tribe/Organizer.php:
|
| 3497 |
msgid "Unnamed %s"
|
| 3498 |
msgstr ""
|
| 3499 |
|
| 3500 |
-
#: src/Tribe/Organizer.php:
|
| 3501 |
msgid "%s Information"
|
| 3502 |
msgstr ""
|
| 3503 |
|
|
@@ -4862,34 +4862,34 @@ msgctxt "Abbreviation for the kilometers unit of measure"
|
|
| 4862 |
msgid "km"
|
| 4863 |
msgstr ""
|
| 4864 |
|
| 4865 |
-
#: src/Tribe/Venue.php:
|
| 4866 |
msgid "Venue"
|
| 4867 |
msgstr ""
|
| 4868 |
|
| 4869 |
-
#: src/Tribe/Venue.php:
|
| 4870 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:206
|
| 4871 |
#: src/functions/template-tags/venue.php:179
|
| 4872 |
msgid "Venues"
|
| 4873 |
msgstr ""
|
| 4874 |
|
| 4875 |
-
#: src/Tribe/Venue.php:
|
| 4876 |
msgid "venue"
|
| 4877 |
msgstr ""
|
| 4878 |
|
| 4879 |
-
#: src/Tribe/Venue.php:
|
| 4880 |
msgid "venues"
|
| 4881 |
msgstr ""
|
| 4882 |
|
| 4883 |
-
#: src/Tribe/Venue.php:
|
| 4884 |
msgctxt "Metabox title"
|
| 4885 |
msgid "Location"
|
| 4886 |
msgstr ""
|
| 4887 |
|
| 4888 |
-
#: src/Tribe/Venue.php:
|
| 4889 |
msgid "United States"
|
| 4890 |
msgstr ""
|
| 4891 |
|
| 4892 |
-
#: src/Tribe/Venue.php:
|
| 4893 |
msgid "Unnamed Venue"
|
| 4894 |
msgstr ""
|
| 4895 |
|
|
@@ -5198,38 +5198,38 @@ msgstr ""
|
|
| 5198 |
msgid "Custom Color"
|
| 5199 |
msgstr ""
|
| 5200 |
|
| 5201 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5202 |
msgid "We recommend a 16:9 aspect ratio for featured images."
|
| 5203 |
msgstr ""
|
| 5204 |
|
| 5205 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5206 |
msgid "Recommended for all sites using the updated calendar views."
|
| 5207 |
msgstr ""
|
| 5208 |
|
| 5209 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5210 |
msgid "The Events Calendar - View V2"
|
| 5211 |
msgstr ""
|
| 5212 |
|
| 5213 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5214 |
msgctxt "Capitalized label for the event website link."
|
| 5215 |
msgid "View %s Website"
|
| 5216 |
msgstr ""
|
| 5217 |
|
| 5218 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5219 |
msgctxt "Capitalized label for the venue website link."
|
| 5220 |
msgid "View %s Website"
|
| 5221 |
msgstr ""
|
| 5222 |
|
| 5223 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5224 |
msgctxt "Capitalized label for the organizer website link."
|
| 5225 |
msgid "View %s Website"
|
| 5226 |
msgstr ""
|
| 5227 |
|
| 5228 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5229 |
msgid "Enabled"
|
| 5230 |
msgstr ""
|
| 5231 |
|
| 5232 |
-
#: src/Tribe/Views/V2/Hooks.php:
|
| 5233 |
#: src/admin-views/tribe-options-general.php:182
|
| 5234 |
#: src/admin-views/tribe-options-general.php:200
|
| 5235 |
msgid "Disabled"
|
|
@@ -5292,24 +5292,24 @@ msgstr ""
|
|
| 5292 |
msgid "Past %s"
|
| 5293 |
msgstr ""
|
| 5294 |
|
| 5295 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
| 5296 |
#: src/functions/template-tags/loop.php:202
|
| 5297 |
msgid "%1$s for %2$s - %3$s"
|
| 5298 |
msgstr ""
|
| 5299 |
|
| 5300 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
| 5301 |
#: src/functions/template-tags/loop.php:209
|
| 5302 |
msgctxt "month view"
|
| 5303 |
msgid "%1$s for %2$s"
|
| 5304 |
msgstr ""
|
| 5305 |
|
| 5306 |
-
#: src/Tribe/Views/V2/Template/Title.php:
|
| 5307 |
#: src/functions/template-tags/loop.php:218
|
| 5308 |
msgctxt "day_view"
|
| 5309 |
msgid "%1$s for %2$s"
|
| 5310 |
msgstr ""
|
| 5311 |
|
| 5312 |
-
#: src/Tribe/Views/V2/View.php:
|
| 5313 |
#: src/views/v2/day/event/date/featured.php:32
|
| 5314 |
#: src/views/v2/latest-past/event/date/featured.php:27
|
| 5315 |
#: src/views/v2/latest-past/event/date/featured.php:32
|
| 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.16.4\n"
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
| 7 |
"calendar\n"
|
| 8 |
+
"POT-Creation-Date: 2022-08-04 16:27:09+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-08-04 16:27\n"
|
| 13 |
"Last-Translator: \n"
|
| 14 |
"Language-Team: \n"
|
| 15 |
|
| 64 |
#: src/Tribe/Admin/Bar/Default_Configurator.php:64
|
| 65 |
#: src/Tribe/Linked_Posts/Chooser_Meta_Box.php:210 src/Tribe/Main.php:2214
|
| 66 |
#: src/Tribe/Main.php:5552 src/Tribe/Main.php:5599 src/Tribe/Organizer.php:93
|
| 67 |
+
#: src/Tribe/Organizer.php:748 src/Tribe/Venue.php:129 src/Tribe/Venue.php:818
|
| 68 |
msgid "Edit %s"
|
| 69 |
msgstr ""
|
| 70 |
|
| 71 |
#: src/Tribe/Admin/Bar/Default_Configurator.php:75
|
| 72 |
+
#: src/Tribe/Aggregator/Page.php:392
|
| 73 |
#: src/admin-views/aggregator/tabs/import-form.php:307
|
| 74 |
msgid "Import"
|
| 75 |
msgstr ""
|
| 194 |
|
| 195 |
#: src/Tribe/Admin/Timezone_Updater.php:87
|
| 196 |
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:59
|
| 197 |
+
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:106
|
| 198 |
+
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:287
|
| 199 |
msgid "%d%% complete"
|
| 200 |
msgstr ""
|
| 201 |
|
| 595 |
"being generated."
|
| 596 |
msgstr ""
|
| 597 |
|
| 598 |
+
#: src/Tribe/Aggregator/Page.php:401
|
| 599 |
msgid "Events Import"
|
| 600 |
msgstr ""
|
| 601 |
|
| 602 |
+
#: src/Tribe/Aggregator/Page.php:530
|
| 603 |
msgid "Facebook Events"
|
| 604 |
msgstr ""
|
| 605 |
|
| 606 |
+
#: src/Tribe/Aggregator/Page.php:534
|
| 607 |
msgid "iCal Importer"
|
| 608 |
msgstr ""
|
| 609 |
|
| 610 |
+
#: src/Tribe/Aggregator/Page.php:543
|
| 611 |
msgid ""
|
| 612 |
"It looks like you are using our legacy plugin, %1$s, along with our new "
|
| 613 |
"Event Aggregator service. Event Aggregator includes all the features of the "
|
| 621 |
msgstr[0] ""
|
| 622 |
msgstr[1] ""
|
| 623 |
|
| 624 |
+
#: src/Tribe/Aggregator/Page.php:556
|
| 625 |
msgid "Manage Active Plugins"
|
| 626 |
msgstr ""
|
| 627 |
|
| 953 |
msgid "Completed!"
|
| 954 |
msgstr ""
|
| 955 |
|
| 956 |
+
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:94
|
| 957 |
msgid ""
|
| 958 |
"Your import is currently in progress. Don't worry, you can safely navigate "
|
| 959 |
"away–the import will continue in the background."
|
| 960 |
msgstr ""
|
| 961 |
|
| 962 |
+
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:101
|
| 963 |
msgid "Created:"
|
| 964 |
msgstr ""
|
| 965 |
|
| 966 |
+
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:102
|
| 967 |
msgid "Updated:"
|
| 968 |
msgstr ""
|
| 969 |
|
| 970 |
+
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:103
|
| 971 |
msgid "Skipped:"
|
| 972 |
msgstr ""
|
| 973 |
|
| 974 |
+
#: src/Tribe/Aggregator/Record/Queue_Realtime.php:206
|
| 975 |
msgid ""
|
| 976 |
"Unable to continue inserting data. Please reload this page to continue/try "
|
| 977 |
"again."
|
| 2821 |
msgid "Upcoming Events"
|
| 2822 |
msgstr ""
|
| 2823 |
|
| 2824 |
+
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.16.4) #-#-#-#-#
|
| 2825 |
#. Plugin Name of the plugin/theme
|
| 2826 |
+
#. #-#-#-#-# the-events-calendar.pot (The Events Calendar 5.16.4) #-#-#-#-#
|
| 2827 |
#. Author of the plugin/theme
|
| 2828 |
#: src/Tribe/Main.php:1021 src/Tribe/Main.php:1559 src/Tribe/Privacy.php:29
|
| 2829 |
#: src/admin-views/admin-welcome-message.php:29
|
| 3475 |
msgid "Error"
|
| 3476 |
msgstr ""
|
| 3477 |
|
| 3478 |
+
#: src/Tribe/Organizer.php:179 src/functions/template-tags/organizer.php:130
|
| 3479 |
msgid "Organizer"
|
| 3480 |
msgstr ""
|
| 3481 |
|
| 3482 |
+
#: src/Tribe/Organizer.php:193
|
| 3483 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:207
|
| 3484 |
#: src/functions/template-tags/organizer.php:158
|
| 3485 |
msgid "Organizers"
|
| 3486 |
msgstr ""
|
| 3487 |
|
| 3488 |
+
#: src/Tribe/Organizer.php:206
|
| 3489 |
msgid "organizer"
|
| 3490 |
msgstr ""
|
| 3491 |
|
| 3492 |
+
#: src/Tribe/Organizer.php:220
|
| 3493 |
msgid "organizers"
|
| 3494 |
msgstr ""
|
| 3495 |
|
| 3496 |
+
#: src/Tribe/Organizer.php:401
|
| 3497 |
msgid "Unnamed %s"
|
| 3498 |
msgstr ""
|
| 3499 |
|
| 3500 |
+
#: src/Tribe/Organizer.php:728 src/Tribe/Venue.php:284
|
| 3501 |
msgid "%s Information"
|
| 3502 |
msgstr ""
|
| 3503 |
|
| 4862 |
msgid "km"
|
| 4863 |
msgstr ""
|
| 4864 |
|
| 4865 |
+
#: src/Tribe/Venue.php:199 src/functions/template-tags/venue.php:151
|
| 4866 |
msgid "Venue"
|
| 4867 |
msgstr ""
|
| 4868 |
|
| 4869 |
+
#: src/Tribe/Venue.php:208
|
| 4870 |
#: src/deprecated/Tribe__Events__Importer__Admin_Page.php:206
|
| 4871 |
#: src/functions/template-tags/venue.php:179
|
| 4872 |
msgid "Venues"
|
| 4873 |
msgstr ""
|
| 4874 |
|
| 4875 |
+
#: src/Tribe/Venue.php:216
|
| 4876 |
msgid "venue"
|
| 4877 |
msgstr ""
|
| 4878 |
|
| 4879 |
+
#: src/Tribe/Venue.php:225
|
| 4880 |
msgid "venues"
|
| 4881 |
msgstr ""
|
| 4882 |
|
| 4883 |
+
#: src/Tribe/Venue.php:265
|
| 4884 |
msgctxt "Metabox title"
|
| 4885 |
msgid "Location"
|
| 4886 |
msgstr ""
|
| 4887 |
|
| 4888 |
+
#: src/Tribe/Venue.php:373 src/functions/template-tags/venue.php:484
|
| 4889 |
msgid "United States"
|
| 4890 |
msgstr ""
|
| 4891 |
|
| 4892 |
+
#: src/Tribe/Venue.php:443
|
| 4893 |
msgid "Unnamed Venue"
|
| 4894 |
msgstr ""
|
| 4895 |
|
| 5198 |
msgid "Custom Color"
|
| 5199 |
msgstr ""
|
| 5200 |
|
| 5201 |
+
#: src/Tribe/Views/V2/Hooks.php:550
|
| 5202 |
msgid "We recommend a 16:9 aspect ratio for featured images."
|
| 5203 |
msgstr ""
|
| 5204 |
|
| 5205 |
+
#: src/Tribe/Views/V2/Hooks.php:627
|
| 5206 |
msgid "Recommended for all sites using the updated calendar views."
|
| 5207 |
msgstr ""
|
| 5208 |
|
| 5209 |
+
#: src/Tribe/Views/V2/Hooks.php:642
|
| 5210 |
msgid "The Events Calendar - View V2"
|
| 5211 |
msgstr ""
|
| 5212 |
|
| 5213 |
+
#: src/Tribe/Views/V2/Hooks.php:958
|
| 5214 |
msgctxt "Capitalized label for the event website link."
|
| 5215 |
msgid "View %s Website"
|
| 5216 |
msgstr ""
|
| 5217 |
|
| 5218 |
+
#: src/Tribe/Views/V2/Hooks.php:986
|
| 5219 |
msgctxt "Capitalized label for the venue website link."
|
| 5220 |
msgid "View %s Website"
|
| 5221 |
msgstr ""
|
| 5222 |
|
| 5223 |
+
#: src/Tribe/Views/V2/Hooks.php:1014
|
| 5224 |
msgctxt "Capitalized label for the organizer website link."
|
| 5225 |
msgid "View %s Website"
|
| 5226 |
msgstr ""
|
| 5227 |
|
| 5228 |
+
#: src/Tribe/Views/V2/Hooks.php:1152
|
| 5229 |
msgid "Enabled"
|
| 5230 |
msgstr ""
|
| 5231 |
|
| 5232 |
+
#: src/Tribe/Views/V2/Hooks.php:1152
|
| 5233 |
#: src/admin-views/tribe-options-general.php:182
|
| 5234 |
#: src/admin-views/tribe-options-general.php:200
|
| 5235 |
msgid "Disabled"
|
| 5292 |
msgid "Past %s"
|
| 5293 |
msgstr ""
|
| 5294 |
|
| 5295 |
+
#: src/Tribe/Views/V2/Template/Title.php:228
|
| 5296 |
#: src/functions/template-tags/loop.php:202
|
| 5297 |
msgid "%1$s for %2$s - %3$s"
|
| 5298 |
msgstr ""
|
| 5299 |
|
| 5300 |
+
#: src/Tribe/Views/V2/Template/Title.php:329
|
| 5301 |
#: src/functions/template-tags/loop.php:209
|
| 5302 |
msgctxt "month view"
|
| 5303 |
msgid "%1$s for %2$s"
|
| 5304 |
msgstr ""
|
| 5305 |
|
| 5306 |
+
#: src/Tribe/Views/V2/Template/Title.php:356
|
| 5307 |
#: src/functions/template-tags/loop.php:218
|
| 5308 |
msgctxt "day_view"
|
| 5309 |
msgid "%1$s for %2$s"
|
| 5310 |
msgstr ""
|
| 5311 |
|
| 5312 |
+
#: src/Tribe/Views/V2/View.php:2033 src/views/v2/day/event/date/featured.php:27
|
| 5313 |
#: src/views/v2/day/event/date/featured.php:32
|
| 5314 |
#: src/views/v2/latest-past/event/date/featured.php:27
|
| 5315 |
#: src/views/v2/latest-past/event/date/featured.php:32
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Contributors: theeventscalendar, borkweb, bordoni, brianjessee, aguseo, camwynsp
|
|
| 4 |
Tags: events, calendar, event, schedule, organizer
|
| 5 |
Donate link: https://evnt.is/29
|
| 6 |
Requires at least: 5.6
|
| 7 |
-
Stable tag: 5.16.
|
| 8 |
Tested up to: 6.0.1
|
| 9 |
Requires PHP: 7.1
|
| 10 |
License: GPLv2 or later
|
|
@@ -223,11 +223,19 @@ Remember to always make a backup of your database and files before updating!
|
|
| 223 |
|
| 224 |
== Changelog ==
|
| 225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 226 |
= [5.16.3.1] 2022-07-21 =
|
| 227 |
|
| 228 |
* Fix - Update Freemius to avoid PHP 8 fatals. [TEC-4330]
|
| 229 |
|
| 230 |
-
|
| 231 |
|
| 232 |
* Fix - Add a theme based CSS class to the HTML body tag when the `Default Page Template` setting is enabled under Events > Settings > Display. [TEC-4391]
|
| 233 |
* Fix - Avoid some conflicts between the import notice and third-party plugins using jQuery datepicker in the admin. [TEC-4429]
|
| 4 |
Tags: events, calendar, event, schedule, organizer
|
| 5 |
Donate link: https://evnt.is/29
|
| 6 |
Requires at least: 5.6
|
| 7 |
+
Stable tag: 5.16.4
|
| 8 |
Tested up to: 6.0.1
|
| 9 |
Requires PHP: 7.1
|
| 10 |
License: GPLv2 or later
|
| 223 |
|
| 224 |
== Changelog ==
|
| 225 |
|
| 226 |
+
= [5.16.4] 2022-08-09 =
|
| 227 |
+
|
| 228 |
+
* Fix - Ensure date formats are escaped properly when they contain slashes. [ECP-1136]
|
| 229 |
+
* Tweak - Update the calendar print design. [TEC-4425]
|
| 230 |
+
* Tweak - Add support for `ticketed` parameter for Event archive REST API calls. [TEC-4439]
|
| 231 |
+
* Tweak - Add new methods `filter_url_date_conflicts` and `filter_date_escaping` to filter and properly escape the date formats for some views. [ECP-1136]
|
| 232 |
+
* Language - 0 new strings added, 403 updated, 0 fuzzied, and 124 obsoleted.
|
| 233 |
+
|
| 234 |
= [5.16.3.1] 2022-07-21 =
|
| 235 |
|
| 236 |
* Fix - Update Freemius to avoid PHP 8 fatals. [TEC-4330]
|
| 237 |
|
| 238 |
+
= [5.16.3] 2022-07-20 =
|
| 239 |
|
| 240 |
* Fix - Add a theme based CSS class to the HTML body tag when the `Default Page Template` setting is enabled under Events > Settings > Display. [TEC-4391]
|
| 241 |
* Fix - Avoid some conflicts between the import notice and third-party plugins using jQuery datepicker in the admin. [TEC-4429]
|
src/Tribe/Main.php
CHANGED
|
@@ -33,7 +33,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 33 |
const VENUE_POST_TYPE = 'tribe_venue';
|
| 34 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
| 35 |
|
| 36 |
-
const VERSION = '5.16.
|
| 37 |
|
| 38 |
/**
|
| 39 |
* Min Pro Addon
|
| 33 |
const VENUE_POST_TYPE = 'tribe_venue';
|
| 34 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
| 35 |
|
| 36 |
+
const VERSION = '5.16.4';
|
| 37 |
|
| 38 |
/**
|
| 39 |
* Min Pro Addon
|
src/Tribe/REST/V1/Endpoints/Archive_Event.php
CHANGED
|
@@ -422,6 +422,8 @@ class Tribe__Events__REST__V1__Endpoints__Archive_Event
|
|
| 422 |
* Returns the content of the `args` array that should be used to register the endpoint
|
| 423 |
* with the `register_rest_route` function.
|
| 424 |
*
|
|
|
|
|
|
|
| 425 |
* @return array
|
| 426 |
*/
|
| 427 |
public function READ_args() {
|
|
@@ -537,6 +539,12 @@ class Tribe__Events__REST__V1__Endpoints__Archive_Event
|
|
| 537 |
'description' => __( 'Events should be filtered by their post_parent being the specified one.', 'the-events-calendar' ),
|
| 538 |
'validate_callback' => [ $this->validator, 'is_event_id' ],
|
| 539 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 540 |
];
|
| 541 |
}
|
| 542 |
|
| 422 |
* Returns the content of the `args` array that should be used to register the endpoint
|
| 423 |
* with the `register_rest_route` function.
|
| 424 |
*
|
| 425 |
+
* @since TBD Added support for `ticketed` parameter.
|
| 426 |
+
*
|
| 427 |
* @return array
|
| 428 |
*/
|
| 429 |
public function READ_args() {
|
| 539 |
'description' => __( 'Events should be filtered by their post_parent being the specified one.', 'the-events-calendar' ),
|
| 540 |
'validate_callback' => [ $this->validator, 'is_event_id' ],
|
| 541 |
],
|
| 542 |
+
'ticketed' => [
|
| 543 |
+
'required' => false,
|
| 544 |
+
'type' => 'boolean',
|
| 545 |
+
'description' => __( 'Filter events with or without tickets.', 'the-events-calendar' ),
|
| 546 |
+
'validate_callback' => [ $this->validator, 'supports_ticketed' ],
|
| 547 |
+
],
|
| 548 |
];
|
| 549 |
}
|
| 550 |
|
src/Tribe/Rewrite.php
CHANGED
|
@@ -54,7 +54,7 @@ class Tribe__Events__Rewrite extends Tribe__Rewrite {
|
|
| 54 |
|
| 55 |
/**
|
| 56 |
* Deprecated piece of code, but we need it in place to make sure
|
| 57 |
-
* we
|
| 58 |
*
|
| 59 |
* @todo remove once we have common version compare back working
|
| 60 |
*/
|
| 54 |
|
| 55 |
/**
|
| 56 |
* Deprecated piece of code, but we need it in place to make sure
|
| 57 |
+
* we don't break with older version of Event Tickets.
|
| 58 |
*
|
| 59 |
* @todo remove once we have common version compare back working
|
| 60 |
*/
|
src/Tribe/Validator/Base.php
CHANGED
|
@@ -232,4 +232,30 @@ class Tribe__Events__Validator__Base extends Tribe__Validator__Base
|
|
| 232 |
|
| 233 |
return ! empty( $events ) && count( $valid ) === count( $events );
|
| 234 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 235 |
}
|
| 232 |
|
| 233 |
return ! empty( $events ) && count( $valid ) === count( $events );
|
| 234 |
}
|
| 235 |
+
|
| 236 |
+
/**
|
| 237 |
+
* Checks whether `ticketed` param is valid or not.
|
| 238 |
+
*
|
| 239 |
+
* @since TBD
|
| 240 |
+
*
|
| 241 |
+
* @param bool $value Can be true or false.
|
| 242 |
+
*
|
| 243 |
+
* @return bool|WP_Error
|
| 244 |
+
*/
|
| 245 |
+
public function supports_ticketed( $value ) {
|
| 246 |
+
// Valid when value is false.
|
| 247 |
+
if ( ! tribe_is_truthy( $value ) ) {
|
| 248 |
+
return true;
|
| 249 |
+
}
|
| 250 |
+
|
| 251 |
+
// When value is true then we need to check if Event Tickets REST API is available or not.
|
| 252 |
+
try {
|
| 253 |
+
/** @var Tribe__Tickets__REST__V1__System $system */
|
| 254 |
+
$system = tribe( 'tickets.rest-v1.system' );
|
| 255 |
+
} catch ( Exception $exception ) {
|
| 256 |
+
return new WP_Error( 'event-tickets-not-active', __( 'Event Tickets plugin is not activated.', 'the-events-calendar' ), [ 'status' => 400 ] );
|
| 257 |
+
}
|
| 258 |
+
|
| 259 |
+
return $system->et_rest_api_is_enabled() ? true : new WP_Error( 'event-tickets-api-not-active', __( 'Event Tickets REST API is not available.', 'the-events-calendar' ), [ 'status' => 400 ] );
|
| 260 |
+
}
|
| 261 |
}
|
src/Tribe/Validator/Interface.php
CHANGED
|
@@ -73,4 +73,15 @@ interface Tribe__Events__Validator__Interface extends Tribe__Validator__Interfac
|
|
| 73 |
* @return bool
|
| 74 |
*/
|
| 75 |
public function is_event_id_list( $events, $sep = ',' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
}
|
| 73 |
* @return bool
|
| 74 |
*/
|
| 75 |
public function is_event_id_list( $events, $sep = ',' );
|
| 76 |
+
|
| 77 |
+
/**
|
| 78 |
+
* Checks if the query is looking for ticketed events and Event Tickets is available.
|
| 79 |
+
*
|
| 80 |
+
* @since TBD
|
| 81 |
+
*
|
| 82 |
+
* @param bool $value Can be true or false.
|
| 83 |
+
*
|
| 84 |
+
* @return mixed
|
| 85 |
+
*/
|
| 86 |
+
public function supports_ticketed( $value );
|
| 87 |
}
|
src/Tribe/Views/V2/Assets.php
CHANGED
|
@@ -147,6 +147,27 @@ class Assets extends \tad_DI52_ServiceProvider {
|
|
| 147 |
]
|
| 148 |
);
|
| 149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 150 |
$bootstrap_datepicker_dependencies = [ 'jquery' ];
|
| 151 |
if ( static::datepicker_no_conflict_mode() ) {
|
| 152 |
$bootstrap_datepicker_dependencies[] = 'jquery-ui-datepicker';
|
| 147 |
]
|
| 148 |
);
|
| 149 |
|
| 150 |
+
tribe_asset(
|
| 151 |
+
$plugin,
|
| 152 |
+
'tribe-events-views-v2-print',
|
| 153 |
+
'views-print.css',
|
| 154 |
+
[
|
| 155 |
+
'tribe-events-views-v2-skeleton',
|
| 156 |
+
],
|
| 157 |
+
'wp_enqueue_scripts',
|
| 158 |
+
[
|
| 159 |
+
'priority' => 10,
|
| 160 |
+
'conditionals' => [
|
| 161 |
+
'operator' => 'AND',
|
| 162 |
+
[ $this, 'should_enqueue_frontend' ],
|
| 163 |
+
[ $this, 'should_enqueue_full_styles' ],
|
| 164 |
+
],
|
| 165 |
+
'groups' => [ static::$group_key ],
|
| 166 |
+
'print' => true,
|
| 167 |
+
'media' => 'print',
|
| 168 |
+
]
|
| 169 |
+
);
|
| 170 |
+
|
| 171 |
$bootstrap_datepicker_dependencies = [ 'jquery' ];
|
| 172 |
if ( static::datepicker_no_conflict_mode() ) {
|
| 173 |
$bootstrap_datepicker_dependencies[] = 'jquery-ui-datepicker';
|
src/Tribe/Views/V2/Hooks.php
CHANGED
|
@@ -138,6 +138,8 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 138 |
add_filter( 'tribe_get_option', [ $this, 'filter_live_filters_option_value' ], 10, 2 );
|
| 139 |
add_filter( 'tribe_field_value', [ $this, 'filter_live_filters_option_value' ], 10, 2 );
|
| 140 |
|
|
|
|
|
|
|
| 141 |
if ( tribe_context()->doing_php_initial_state() ) {
|
| 142 |
add_filter( 'tribe_events_filter_views_v2_wp_title_plural_events_label', [ $this, 'filter_wp_title_plural_events_label' ], 10, 2 );
|
| 143 |
add_filter( 'wp_title', [ $this, 'filter_wp_title' ], 10, 2 );
|
|
@@ -170,6 +172,8 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 170 |
add_filter( 'tribe_ical_template_event_ids', [ $this, 'inject_ical_event_ids' ] );
|
| 171 |
|
| 172 |
add_filter( 'tec_events_query_default_view', [ $this, 'filter_tec_events_query_default_view' ] );
|
|
|
|
|
|
|
| 173 |
}
|
| 174 |
|
| 175 |
/**
|
|
@@ -871,6 +875,41 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 871 |
return $return_value;
|
| 872 |
}
|
| 873 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 874 |
/**
|
| 875 |
* Print Single Event JSON-LD.
|
| 876 |
*
|
|
@@ -1114,4 +1153,25 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 1114 |
];
|
| 1115 |
return \Tribe__Main::array_insert_before_key( 'Settings', $info, $views_v2_status );
|
| 1116 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1117 |
}
|
| 138 |
add_filter( 'tribe_get_option', [ $this, 'filter_live_filters_option_value' ], 10, 2 );
|
| 139 |
add_filter( 'tribe_field_value', [ $this, 'filter_live_filters_option_value' ], 10, 2 );
|
| 140 |
|
| 141 |
+
add_filter( 'tribe_get_option', [ $this, 'filter_date_escaping' ], 10, 2 );
|
| 142 |
+
|
| 143 |
if ( tribe_context()->doing_php_initial_state() ) {
|
| 144 |
add_filter( 'tribe_events_filter_views_v2_wp_title_plural_events_label', [ $this, 'filter_wp_title_plural_events_label' ], 10, 2 );
|
| 145 |
add_filter( 'wp_title', [ $this, 'filter_wp_title' ], 10, 2 );
|
| 172 |
add_filter( 'tribe_ical_template_event_ids', [ $this, 'inject_ical_event_ids' ] );
|
| 173 |
|
| 174 |
add_filter( 'tec_events_query_default_view', [ $this, 'filter_tec_events_query_default_view' ] );
|
| 175 |
+
|
| 176 |
+
add_filter( 'tribe_events_views_v2_rest_params', [ $this, 'filter_url_date_conflicts'], 12, 2 );
|
| 177 |
}
|
| 178 |
|
| 179 |
/**
|
| 875 |
return $return_value;
|
| 876 |
}
|
| 877 |
|
| 878 |
+
/**
|
| 879 |
+
* Ensures that date formats are escaped properly.
|
| 880 |
+
* Converts "\\" to "\" for escaped characters.
|
| 881 |
+
*
|
| 882 |
+
* @since 5.16.4
|
| 883 |
+
*
|
| 884 |
+
* @param mixed $value The current value of the option.
|
| 885 |
+
* @param string $optionName The option "key"
|
| 886 |
+
*
|
| 887 |
+
* @return mixed $value The modified value of the option.
|
| 888 |
+
*/
|
| 889 |
+
public function filter_date_escaping( $value, $optionName ) {
|
| 890 |
+
// A list of date options we may need to unescape.
|
| 891 |
+
$date_options = [
|
| 892 |
+
'dateWithoutYearFormat',
|
| 893 |
+
'monthAndYearFormat',
|
| 894 |
+
];
|
| 895 |
+
|
| 896 |
+
if ( ! in_array( $optionName, $date_options ) ) {
|
| 897 |
+
return $value;
|
| 898 |
+
}
|
| 899 |
+
|
| 900 |
+
// Don't try to run string modification on an array or something.
|
| 901 |
+
if ( ! is_string( $value ) ) {
|
| 902 |
+
return $value;
|
| 903 |
+
}
|
| 904 |
+
|
| 905 |
+
// Note: backslash is hte escape character - so we need to escape it.
|
| 906 |
+
// This is the equivalent of replacing any occurrence of \\ with \
|
| 907 |
+
$value = str_replace( "\\\\", "\\", $value);
|
| 908 |
+
//$value = stripslashes( $value ); will strip out ones we want to keep!
|
| 909 |
+
|
| 910 |
+
return $value;
|
| 911 |
+
}
|
| 912 |
+
|
| 913 |
/**
|
| 914 |
* Print Single Event JSON-LD.
|
| 915 |
*
|
| 1153 |
];
|
| 1154 |
return \Tribe__Main::array_insert_before_key( 'Settings', $info, $views_v2_status );
|
| 1155 |
}
|
| 1156 |
+
|
| 1157 |
+
/**
|
| 1158 |
+
* Ensure we use the correct date on shortcodes.
|
| 1159 |
+
* If both `tribe-bar-date` and `eventDate` are present, `tribe-bar-date` overrides `eventDate`.
|
| 1160 |
+
*
|
| 1161 |
+
* @since 5.16.4
|
| 1162 |
+
*
|
| 1163 |
+
* @param array $params An associative array of parameters from the REST request.
|
| 1164 |
+
* @param \WP_REST_Request $request The current REST request.
|
| 1165 |
+
*
|
| 1166 |
+
* @return array $params A modified array of parameters from the REST request.
|
| 1167 |
+
*/
|
| 1168 |
+
public function filter_url_date_conflicts( $params, $request ) {
|
| 1169 |
+
if ( ! isset( $params['tribe-bar-date'] ) || ! isset( $params[ 'eventDate'] ) ) {
|
| 1170 |
+
return $params;
|
| 1171 |
+
}
|
| 1172 |
+
|
| 1173 |
+
$params[ 'eventDate'] = $params['tribe-bar-date'];
|
| 1174 |
+
|
| 1175 |
+
return $params;
|
| 1176 |
+
}
|
| 1177 |
}
|
src/Tribe/Views/V2/Template.php
CHANGED
|
@@ -110,7 +110,7 @@ class Template extends Base_Template {
|
|
| 110 |
*
|
| 111 |
* @since 4.9.2
|
| 112 |
*
|
| 113 |
-
* @param string|array|null $name Either a specific name to check, the
|
| 114 |
* the view pick the template according to the template override rules.
|
| 115 |
*
|
| 116 |
* @return string The path to the template file the View will use to render its contents.
|
| 110 |
*
|
| 111 |
* @since 4.9.2
|
| 112 |
*
|
| 113 |
+
* @param string|array|null $name Either a specific name to check, the fragments of a name to check, or `null` to let
|
| 114 |
* the view pick the template according to the template override rules.
|
| 115 |
*
|
| 116 |
* @return string The path to the template file the View will use to render its contents.
|
src/resources/css/views-print.min.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-back,.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-c-events-bar,.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-c-nav,.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-c-top-bar__datepicker-button-icon-svg,.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-c-top-bar__nav,.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-c-top-bar__today-button,.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-nav-pagination,.single-tribe_events .tribe-events-back,.single-tribe_events .tribe-events-c-events-bar,.single-tribe_events .tribe-events-c-nav,.single-tribe_events .tribe-events-c-top-bar__datepicker-button-icon-svg,.single-tribe_events .tribe-events-c-top-bar__nav,.single-tribe_events .tribe-events-c-top-bar__today-button,.single-tribe_events .tribe-events-nav-pagination,.tribe-events.tribe-common--breakpoint-medium .tribe-events-back,.tribe-events.tribe-common--breakpoint-medium .tribe-events-c-events-bar,.tribe-events.tribe-common--breakpoint-medium .tribe-events-c-nav,.tribe-events.tribe-common--breakpoint-medium .tribe-events-c-top-bar__datepicker-button-icon-svg,.tribe-events.tribe-common--breakpoint-medium .tribe-events-c-top-bar__nav,.tribe-events.tribe-common--breakpoint-medium .tribe-events-c-top-bar__today-button,.tribe-events.tribe-common--breakpoint-medium .tribe-events-nav-pagination,.tribe-events .tribe-events-back,.tribe-events .tribe-events-c-events-bar,.tribe-events .tribe-events-c-nav,.tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg,.tribe-events .tribe-events-c-top-bar__nav,.tribe-events .tribe-events-c-top-bar__today-button,.tribe-events .tribe-events-nav-pagination{display:none!important}.single-tribe_events.tribe-common--breakpoint-medium a[href^=http],.single-tribe_events a[href^=http],.tribe-events.tribe-common--breakpoint-medium a[href^=http],.tribe-events a[href^=http]{text-decoration:none!important}.single-tribe_events.tribe-common--breakpoint-medium a[href^=http]:after,.single-tribe_events a[href^=http]:after,.tribe-events.tribe-common--breakpoint-medium a[href^=http]:after,.tribe-events a[href^=http]:after{content:none!important}.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-c-subscribe-dropdown__container,.single-tribe_events .tribe-events-c-subscribe-dropdown__container,.tribe-events.tribe-common--breakpoint-medium .tribe-events-c-subscribe-dropdown__container,.tribe-events .tribe-events-c-subscribe-dropdown__container{display:none!important}.single-tribe_events.tribe-common--breakpoint-medium.tribe-common .tribe-common-h--alt.tribe-events-c-top-bar__datepicker-button,.single-tribe_events.tribe-common .tribe-common-h--alt.tribe-events-c-top-bar__datepicker-button,.tribe-events.tribe-common--breakpoint-medium.tribe-common .tribe-common-h--alt.tribe-events-c-top-bar__datepicker-button,.tribe-events.tribe-common .tribe-common-h--alt.tribe-events-c-top-bar__datepicker-button{--tec-font-weight-regular:var(--tec-font-weight-bold)}.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-calendar-month__header-column-title,.single-tribe_events .tribe-events-calendar-month__header-column-title,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-month__header-column-title,.tribe-events .tribe-events-calendar-month__header-column-title{--tec-color-text-day-of-week-month:var(--tec-color-text-primary)}.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-calendar-month__calendar-event-datetime,.single-tribe_events .tribe-events-calendar-month__calendar-event-datetime,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-month__calendar-event-datetime,.tribe-events .tribe-events-calendar-month__calendar-event-datetime{--tec-color-text-event-date-secondary:#727272}.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-calendar-month__calendar-event-title-link,.single-tribe_events .tribe-events-calendar-month__calendar-event-title-link,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-month__calendar-event-title-link,.tribe-events .tribe-events-calendar-month__calendar-event-title-link{font-weight:var(--tec-font-weight-regular)}.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-promo.tribe-common-b1.tribe-events-c-promo,.single-tribe_events .tribe-events-promo.tribe-common-b1.tribe-events-c-promo,.tribe-events.tribe-common--breakpoint-medium .tribe-events-promo.tribe-common-b1.tribe-events-c-promo,.tribe-events .tribe-events-promo.tribe-common-b1.tribe-events-c-promo{--tec-color-text-primary:#727272;--tec-font-size-3:var(--tec-font-size-1)}.single-tribe_events.tribe-common--breakpoint-medium .tribe-events-promo.tribe-common-b1.tribe-events-c-promo .tribe-common-anchor-thin,.single-tribe_events .tribe-events-promo.tribe-common-b1.tribe-events-c-promo .tribe-common-anchor-thin,.tribe-events.tribe-common--breakpoint-medium .tribe-events-promo.tribe-common-b1.tribe-events-c-promo .tribe-common-anchor-thin,.tribe-events .tribe-events-promo.tribe-common-b1.tribe-events-c-promo .tribe-common-anchor-thin{--tec-color-text-primary:#141827;font-weight:var(--tec-font-weight-regular)}
|
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.16.
|
| 6 |
* Author: The Events Calendar
|
| 7 |
* Author URI: https://evnt.is/1x
|
| 8 |
* Text Domain: the-events-calendar
|
|
@@ -61,6 +61,7 @@ if ( tribe_is_not_min_php_version() ) {
|
|
| 61 |
if ( ! has_filter( 'admin_notices', 'tribe_not_php_version_notice' ) ) {
|
| 62 |
add_action( 'admin_notices', 'tribe_not_php_version_notice' );
|
| 63 |
}
|
|
|
|
| 64 |
return false;
|
| 65 |
}
|
| 66 |
|
| 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.16.4
|
| 6 |
* Author: The Events Calendar
|
| 7 |
* Author URI: https://evnt.is/1x
|
| 8 |
* Text Domain: the-events-calendar
|
| 61 |
if ( ! has_filter( 'admin_notices', 'tribe_not_php_version_notice' ) ) {
|
| 62 |
add_action( 'admin_notices', 'tribe_not_php_version_notice' );
|
| 63 |
}
|
| 64 |
+
|
| 65 |
return false;
|
| 66 |
}
|
| 67 |
|
vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit81b8b29eae27defff25e88e044774d13::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit61cdb11bb886f8ba6b7a4677120c038e
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 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\
|
| 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 ComposerAutoloaderInit81b8b29eae27defff25e88e044774d13
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit81b8b29eae27defff25e88e044774d13', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit81b8b29eae27defff25e88e044774d13', '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\ComposerStaticInit81b8b29eae27defff25e88e044774d13::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
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
|
@@ -155,9 +155,9 @@ class ComposerStaticInit61cdb11bb886f8ba6b7a4677120c038e
|
|
| 155 |
public static function getInitializer(ClassLoader $loader)
|
| 156 |
{
|
| 157 |
return \Closure::bind(function () use ($loader) {
|
| 158 |
-
$loader->prefixLengthsPsr4 =
|
| 159 |
-
$loader->prefixDirsPsr4 =
|
| 160 |
-
$loader->classMap =
|
| 161 |
|
| 162 |
}, null, ClassLoader::class);
|
| 163 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit81b8b29eae27defff25e88e044774d13
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
| 155 |
public static function getInitializer(ClassLoader $loader)
|
| 156 |
{
|
| 157 |
return \Closure::bind(function () use ($loader) {
|
| 158 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit81b8b29eae27defff25e88e044774d13::$prefixLengthsPsr4;
|
| 159 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit81b8b29eae27defff25e88e044774d13::$prefixDirsPsr4;
|
| 160 |
+
$loader->classMap = ComposerStaticInit81b8b29eae27defff25e88e044774d13::$classMap;
|
| 161 |
|
| 162 |
}, null, ClassLoader::class);
|
| 163 |
}
|
