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 | |
| Version | 5.12.4 |
| Comparing to | |
| See all releases | |
Code changes from version 5.12.3 to 5.12.4
- common/src/Tribe/Main.php +1 -1
- common/src/Tribe/Onboarding/Main.php +2 -2
- common/src/Tribe/Service_Providers/Onboarding.php +20 -13
- common/src/Tribe/Support.php +12 -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-fi.mo +0 -0
- lang/the-events-calendar-he_IL.mo +0 -0
- lang/the-events-calendar-pl_PL.mo +0 -0
- lang/the-events-calendar-ro_RO.mo +0 -0
- lang/the-events-calendar.pot +2 -2
- readme.txt +12 -1
- src/Tribe/Admin/Notice/Full_Site_Editor.php +75 -0
- src/Tribe/Editor.php +0 -2
- src/Tribe/Importer/Column_Mapper.php +3 -3
- src/Tribe/Importer/File_Importer.php +11 -0
- src/Tribe/Importer/File_Importer_Events.php +48 -21
- src/Tribe/Importer/File_Importer_Organizers.php +0 -23
- src/Tribe/Main.php +4 -1
- src/Tribe/Repositories/Event.php +10 -1
- src/Tribe/Views/V2/Hooks.php +18 -1
- src/resources/css/app/widgets.min.css +1 -1
- the-events-calendar.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +1 -0
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +5 -4
common/src/Tribe/Main.php
CHANGED
|
@@ -20,7 +20,7 @@ class Tribe__Main {
|
|
| 20 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
| 21 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
| 22 |
|
| 23 |
-
const VERSION = '4.14.
|
| 24 |
|
| 25 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
| 26 |
|
| 20 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
| 21 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
| 22 |
|
| 23 |
+
const VERSION = '4.14.12';
|
| 24 |
|
| 25 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
| 26 |
|
common/src/Tribe/Onboarding/Main.php
CHANGED
|
@@ -15,7 +15,7 @@ class Main {
|
|
| 15 |
*
|
| 16 |
* @return array $steps The tour data.
|
| 17 |
*/
|
| 18 |
-
|
| 19 |
$data = [];
|
| 20 |
$registered_tours = $this->get_registered_tours();
|
| 21 |
|
|
@@ -62,7 +62,7 @@ class Main {
|
|
| 62 |
*
|
| 63 |
* @return array $steps The hints data.
|
| 64 |
*/
|
| 65 |
-
|
| 66 |
$data = [];
|
| 67 |
$registered_hints = $this->get_registered_hints();
|
| 68 |
|
| 15 |
*
|
| 16 |
* @return array $steps The tour data.
|
| 17 |
*/
|
| 18 |
+
protected function tour_data() {
|
| 19 |
$data = [];
|
| 20 |
$registered_tours = $this->get_registered_tours();
|
| 21 |
|
| 62 |
*
|
| 63 |
* @return array $steps The hints data.
|
| 64 |
*/
|
| 65 |
+
protected function hints_data() {
|
| 66 |
$data = [];
|
| 67 |
$registered_hints = $this->get_registered_hints();
|
| 68 |
|
common/src/Tribe/Service_Providers/Onboarding.php
CHANGED
|
@@ -1,6 +1,8 @@
|
|
| 1 |
<?php
|
| 2 |
namespace Tribe\Service_Providers;
|
| 3 |
|
|
|
|
|
|
|
| 4 |
/**
|
| 5 |
* Class Onboarding
|
| 6 |
*
|
|
@@ -23,7 +25,12 @@ class Onboarding extends \tad_DI52_ServiceProvider {
|
|
| 23 |
* @since 4.14.9
|
| 24 |
*/
|
| 25 |
public function register() {
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
$this->hooks();
|
| 29 |
}
|
|
@@ -33,11 +40,11 @@ class Onboarding extends \tad_DI52_ServiceProvider {
|
|
| 33 |
*
|
| 34 |
* @since 4.14.9
|
| 35 |
*/
|
| 36 |
-
|
| 37 |
add_action( 'tribe_common_loaded', [ $this, 'register_assets' ] );
|
| 38 |
|
| 39 |
-
add_action( 'admin_enqueue_scripts',
|
| 40 |
-
add_action( 'admin_enqueue_scripts',
|
| 41 |
}
|
| 42 |
|
| 43 |
/**
|
|
@@ -50,7 +57,7 @@ class Onboarding extends \tad_DI52_ServiceProvider {
|
|
| 50 |
|
| 51 |
tribe_asset(
|
| 52 |
$main,
|
| 53 |
-
'intro-js',
|
| 54 |
'node_modules/intro.js/intro.js',
|
| 55 |
[],
|
| 56 |
[ 'admin_enqueue_scripts' ],
|
|
@@ -62,7 +69,7 @@ class Onboarding extends \tad_DI52_ServiceProvider {
|
|
| 62 |
|
| 63 |
tribe_asset(
|
| 64 |
$main,
|
| 65 |
-
'intro-styles',
|
| 66 |
'node_modules/intro.js/introjs.css',
|
| 67 |
[],
|
| 68 |
[ 'admin_enqueue_scripts' ],
|
|
@@ -74,9 +81,9 @@ class Onboarding extends \tad_DI52_ServiceProvider {
|
|
| 74 |
|
| 75 |
tribe_asset(
|
| 76 |
$main,
|
| 77 |
-
'
|
| 78 |
'onboarding.css',
|
| 79 |
-
[ 'intro-styles', 'tec-variables-skeleton', 'tec-variables-full' ],
|
| 80 |
[ 'admin_enqueue_scripts' ],
|
| 81 |
[
|
| 82 |
'groups' => self::$group_key,
|
|
@@ -86,11 +93,11 @@ class Onboarding extends \tad_DI52_ServiceProvider {
|
|
| 86 |
|
| 87 |
tribe_asset(
|
| 88 |
$main,
|
| 89 |
-
'
|
| 90 |
'onboarding.js',
|
| 91 |
[
|
| 92 |
'tribe-common',
|
| 93 |
-
'intro-js'
|
| 94 |
],
|
| 95 |
[ 'admin_enqueue_scripts' ],
|
| 96 |
[
|
|
@@ -131,10 +138,10 @@ class Onboarding extends \tad_DI52_ServiceProvider {
|
|
| 131 |
*
|
| 132 |
* @since 4.14.9
|
| 133 |
*
|
| 134 |
-
* @param bool $disabled If we want to disable the
|
| 135 |
*/
|
| 136 |
-
$
|
| 137 |
|
| 138 |
-
return is_admin()
|
| 139 |
}
|
| 140 |
}
|
| 1 |
<?php
|
| 2 |
namespace Tribe\Service_Providers;
|
| 3 |
|
| 4 |
+
use \Tribe\Onboarding\Main as Onboarding_Main;
|
| 5 |
+
|
| 6 |
/**
|
| 7 |
* Class Onboarding
|
| 8 |
*
|
| 25 |
* @since 4.14.9
|
| 26 |
*/
|
| 27 |
public function register() {
|
| 28 |
+
if ( ! $this->is_enabled() ) {
|
| 29 |
+
return;
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
$this->container->singleton( Onboarding_Main::class, Onboarding_Main::class );
|
| 33 |
+
$this->container->singleton( static::class, static::class );
|
| 34 |
|
| 35 |
$this->hooks();
|
| 36 |
}
|
| 40 |
*
|
| 41 |
* @since 4.14.9
|
| 42 |
*/
|
| 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 |
/**
|
| 57 |
|
| 58 |
tribe_asset(
|
| 59 |
$main,
|
| 60 |
+
'tec-intro-js',
|
| 61 |
'node_modules/intro.js/intro.js',
|
| 62 |
[],
|
| 63 |
[ 'admin_enqueue_scripts' ],
|
| 69 |
|
| 70 |
tribe_asset(
|
| 71 |
$main,
|
| 72 |
+
'tec-intro-styles',
|
| 73 |
'node_modules/intro.js/introjs.css',
|
| 74 |
[],
|
| 75 |
[ 'admin_enqueue_scripts' ],
|
| 81 |
|
| 82 |
tribe_asset(
|
| 83 |
$main,
|
| 84 |
+
'tec-onboarding-styles',
|
| 85 |
'onboarding.css',
|
| 86 |
+
[ 'tec-intro-styles', 'tec-variables-skeleton', 'tec-variables-full' ],
|
| 87 |
[ 'admin_enqueue_scripts' ],
|
| 88 |
[
|
| 89 |
'groups' => self::$group_key,
|
| 93 |
|
| 94 |
tribe_asset(
|
| 95 |
$main,
|
| 96 |
+
'tec-onboarding-js',
|
| 97 |
'onboarding.js',
|
| 98 |
[
|
| 99 |
'tribe-common',
|
| 100 |
+
'tec-intro-js'
|
| 101 |
],
|
| 102 |
[ 'admin_enqueue_scripts' ],
|
| 103 |
[
|
| 138 |
*
|
| 139 |
* @since 4.14.9
|
| 140 |
*
|
| 141 |
+
* @param bool $disabled If we want to disable the on boarding.
|
| 142 |
*/
|
| 143 |
+
$is_enabled = (bool) apply_filters( 'tec_onboarding_enabled', false );
|
| 144 |
|
| 145 |
+
return $is_enabled && is_admin();
|
| 146 |
}
|
| 147 |
}
|
common/src/Tribe/Support.php
CHANGED
|
@@ -228,9 +228,21 @@ if ( ! class_exists( 'Tribe__Support' ) ) {
|
|
| 228 |
* Allow for customization of the array of information that's turned into the "System Information" screen in the "Help" admin page.
|
| 229 |
*
|
| 230 |
* @param array $systeminfo The array of information turned into the "System Information" screen.
|
|
|
|
|
|
|
| 231 |
*/
|
| 232 |
$systeminfo = apply_filters( 'tribe-events-pro-support', $systeminfo );
|
| 233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 234 |
return $systeminfo;
|
| 235 |
}
|
| 236 |
|
| 228 |
* Allow for customization of the array of information that's turned into the "System Information" screen in the "Help" admin page.
|
| 229 |
*
|
| 230 |
* @param array $systeminfo The array of information turned into the "System Information" screen.
|
| 231 |
+
*
|
| 232 |
+
* @deprecated TBD Using a newer format of filter.
|
| 233 |
*/
|
| 234 |
$systeminfo = apply_filters( 'tribe-events-pro-support', $systeminfo );
|
| 235 |
|
| 236 |
+
/**
|
| 237 |
+
* Allow for customization of the array of information that's turned into the "System Information" screen in the "Help" admin page.
|
| 238 |
+
*
|
| 239 |
+
* @since TBD
|
| 240 |
+
*
|
| 241 |
+
* @param array $systeminfo The array of information turned into the "System Information" screen.
|
| 242 |
+
*
|
| 243 |
+
*/
|
| 244 |
+
$systeminfo = apply_filters( 'tec_system_information', $systeminfo );
|
| 245 |
+
|
| 246 |
return $systeminfo;
|
| 247 |
}
|
| 248 |
|
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 ComposerAutoloaderInit4402a1d8ab7b3cfb25c70afd6f7e70b1::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 ComposerAutoloaderInit0b7cda09e2550505ff4b3bf5122773f8::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 ComposerAutoloaderInitb179aa41620223b1df43a0ad8ce2683c
|
|
| 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 ComposerAutoloaderInit4402a1d8ab7b3cfb25c70afd6f7e70b1
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit4402a1d8ab7b3cfb25c70afd6f7e70b1', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit4402a1d8ab7b3cfb25c70afd6f7e70b1', '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\ComposerStaticInit4402a1d8ab7b3cfb25c70afd6f7e70b1::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 ComposerAutoloaderInit9c59f3f9dca208fe7cc82bcb511e1745 {
|
|
| 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 ComposerAutoloaderInit0b7cda09e2550505ff4b3bf5122773f8 {
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit0b7cda09e2550505ff4b3bf5122773f8', 'loadClassLoader'), true /*, true */);
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit0b7cda09e2550505ff4b3bf5122773f8', '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' =>
|
|
@@ -258,10 +258,10 @@ class ComposerStaticInitb179aa41620223b1df43a0ad8ce2683c
|
|
| 258 |
public static function getInitializer(ClassLoader $loader)
|
| 259 |
{
|
| 260 |
return \Closure::bind(function () use ($loader) {
|
| 261 |
-
$loader->prefixLengthsPsr4 =
|
| 262 |
-
$loader->prefixDirsPsr4 =
|
| 263 |
-
$loader->prefixesPsr0 =
|
| 264 |
-
$loader->classMap =
|
| 265 |
|
| 266 |
}, null, ClassLoader::class);
|
| 267 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit4402a1d8ab7b3cfb25c70afd6f7e70b1
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
| 258 |
public static function getInitializer(ClassLoader $loader)
|
| 259 |
{
|
| 260 |
return \Closure::bind(function () use ($loader) {
|
| 261 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit4402a1d8ab7b3cfb25c70afd6f7e70b1::$prefixLengthsPsr4;
|
| 262 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit4402a1d8ab7b3cfb25c70afd6f7e70b1::$prefixDirsPsr4;
|
| 263 |
+
$loader->prefixesPsr0 = ComposerStaticInit4402a1d8ab7b3cfb25c70afd6f7e70b1::$prefixesPsr0;
|
| 264 |
+
$loader->classMap = ComposerStaticInit4402a1d8ab7b3cfb25c70afd6f7e70b1::$classMap;
|
| 265 |
|
| 266 |
}, null, ClassLoader::class);
|
| 267 |
}
|
lang/the-events-calendar-fi.mo
CHANGED
|
Binary file
|
lang/the-events-calendar-he_IL.mo
CHANGED
|
Binary file
|
lang/the-events-calendar-pl_PL.mo
CHANGED
|
Binary file
|
lang/the-events-calendar-ro_RO.mo
CHANGED
|
Binary file
|
lang/the-events-calendar.pot
CHANGED
|
@@ -5,11 +5,11 @@ msgstr ""
|
|
| 5 |
"Project-Id-Version: The Events Calendar 5.12.3\n"
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
| 7 |
"calendar\n"
|
| 8 |
-
"POT-Creation-Date: 2022-01-
|
| 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-01-
|
| 13 |
"Last-Translator: \n"
|
| 14 |
"Language-Team: \n"
|
| 15 |
|
| 5 |
"Project-Id-Version: The Events Calendar 5.12.3\n"
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/the-events-"
|
| 7 |
"calendar\n"
|
| 8 |
+
"POT-Creation-Date: 2022-01-19 06:37:40+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-01-19 06:37\n"
|
| 13 |
"Last-Translator: \n"
|
| 14 |
"Language-Team: \n"
|
| 15 |
|
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.12.
|
| 8 |
Tested up to: 5.8.3
|
| 9 |
Requires PHP: 7.1
|
| 10 |
License: GPLv2 or later
|
|
@@ -221,6 +221,17 @@ Remember to always make a backup of your database and files before updating!
|
|
| 221 |
|
| 222 |
== Changelog ==
|
| 223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 224 |
= [5.12.3] 2022-01-10 =
|
| 225 |
|
| 226 |
* Version - The Events Calendar 5.12.3 is only compatible with Events Calendar PRO 5.11.2 and higher
|
| 4 |
Tags: events, calendar, event, schedule, organizer
|
| 5 |
Donate link: https://evnt.is/29
|
| 6 |
Requires at least: 5.6
|
| 7 |
+
Stable tag: 5.12.4
|
| 8 |
Tested up to: 5.8.3
|
| 9 |
Requires PHP: 7.1
|
| 10 |
License: GPLv2 or later
|
| 221 |
|
| 222 |
== Changelog ==
|
| 223 |
|
| 224 |
+
= [5.12.4] 2022-01-19 =
|
| 225 |
+
|
| 226 |
+
* Tweak - Minor CSS tweaks to align with the new shortcode based blocks in ECP. [ECP-1016]
|
| 227 |
+
* Tweak - Add hook to CSV importer to enable add-on plugins to support their fields during import. [VE-387]
|
| 228 |
+
* Tweak - Included new filter `tec_system_information` allowing better control over the Troubleshooting Help page.
|
| 229 |
+
* Tweak - Included a Views V2 Status on the Troubleshooting page system info section to help with clarity for support.
|
| 230 |
+
* Tweak - Add notice for Themes using Full Site Editor incompatibility with Widgets. [TEC-4233]
|
| 231 |
+
* Fix - Prevent Onboarding assets from loading on the admin when not needed.
|
| 232 |
+
* Fix - Remove CSS attributes targeting `aria-labels` to prevent inconsistent styling for different languages. [TEC-4227]
|
| 233 |
+
* Fix - Resolve sorting problems when using orderby with the Event repository when no other orderby values are specified. [TEC-4232]
|
| 234 |
+
|
| 235 |
= [5.12.3] 2022-01-10 =
|
| 236 |
|
| 237 |
* Version - The Events Calendar 5.12.3 is only compatible with Events Calendar PRO 5.11.2 and higher
|
src/Tribe/Admin/Notice/Full_Site_Editor.php
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
namespace Tribe\Events\Admin\Notice;
|
| 3 |
+
|
| 4 |
+
/**
|
| 5 |
+
* Class Full_Site_Editor
|
| 6 |
+
*
|
| 7 |
+
* @since 5.12.4
|
| 8 |
+
*
|
| 9 |
+
*/
|
| 10 |
+
class Full_Site_Editor {
|
| 11 |
+
/**
|
| 12 |
+
* Register the notices related to Full Site Editor.
|
| 13 |
+
*
|
| 14 |
+
* @since 5.12.4
|
| 15 |
+
*/
|
| 16 |
+
public function hook() {
|
| 17 |
+
tribe_notice(
|
| 18 |
+
'full-site-editor-incompatibility',
|
| 19 |
+
[ $this, 'incompatibility_display' ],
|
| 20 |
+
[
|
| 21 |
+
'type' => 'error',
|
| 22 |
+
'dismiss' => 1,
|
| 23 |
+
'priority' => - 1,
|
| 24 |
+
'wrap' => 'p',
|
| 25 |
+
],
|
| 26 |
+
[ $this, 'incompatibility_should_display' ]
|
| 27 |
+
);
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
/**
|
| 31 |
+
* Whether the FSE Widgets notice should display.
|
| 32 |
+
*
|
| 33 |
+
* @since 5.12.4
|
| 34 |
+
*
|
| 35 |
+
* @return boolean
|
| 36 |
+
*/
|
| 37 |
+
public function incompatibility_should_display() {
|
| 38 |
+
global $current_screen;
|
| 39 |
+
$screens = [
|
| 40 |
+
'tribe_events_page_tribe-app-shop', // App shop.
|
| 41 |
+
'events_page_tribe-app-shop', // App shop.
|
| 42 |
+
'tribe_events_page_tribe-common', // Settings & Welcome.
|
| 43 |
+
'events_page_tribe-common', // Settings & Welcome.
|
| 44 |
+
'toplevel_page_tribe-common', // Settings & Welcome.
|
| 45 |
+
];
|
| 46 |
+
|
| 47 |
+
// If not a valid screen, don't display.
|
| 48 |
+
if ( empty( $current_screen->id ) || ! in_array( $current_screen->id, $screens, true ) ) {
|
| 49 |
+
return false;
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
return function_exists( 'wp_is_block_theme' ) && wp_is_block_theme();
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
/**
|
| 56 |
+
* HTML for the FSE Widgets compatibility.
|
| 57 |
+
*
|
| 58 |
+
* @see https://evnt.is/wp5-7
|
| 59 |
+
*
|
| 60 |
+
* @since 5.12.4
|
| 61 |
+
*
|
| 62 |
+
* @return string
|
| 63 |
+
*/
|
| 64 |
+
public function incompatibility_display() {
|
| 65 |
+
$html = esc_html__( 'The Events Calendar is not yet supported for themes using the Full Site Editor.', 'the-events-calendar' );
|
| 66 |
+
$html .= ' <a target="_blank" href="https://evnt.is/fse-compatibility">' . esc_html__( 'Read more.', 'the-events-calendar' ) . '</a>';
|
| 67 |
+
|
| 68 |
+
/**
|
| 69 |
+
* Allows the modification of the notice for FSE widgets incompatibility.
|
| 70 |
+
*
|
| 71 |
+
* @since 5.12.4
|
| 72 |
+
*/
|
| 73 |
+
return apply_filters( 'tec_events_admin_notice_full_site_editor_widget_html', $html, $this );
|
| 74 |
+
}
|
| 75 |
+
}
|
src/Tribe/Editor.php
CHANGED
|
@@ -668,7 +668,6 @@ class Tribe__Events__Editor extends Tribe__Editor {
|
|
| 668 |
[
|
| 669 |
'slug' => 'tribe-events',
|
| 670 |
'title' => __( 'Event Blocks', 'the-events-calendar' ),
|
| 671 |
-
'icon' => 'tec-horns',
|
| 672 |
],
|
| 673 |
]
|
| 674 |
);
|
|
@@ -702,7 +701,6 @@ class Tribe__Events__Editor extends Tribe__Editor {
|
|
| 702 |
[
|
| 703 |
'slug' => 'tribe-events',
|
| 704 |
'title' => __( 'Event Blocks', 'the-events-calendar' ),
|
| 705 |
-
'icon' => 'tec-horns',
|
| 706 |
],
|
| 707 |
]
|
| 708 |
);
|
| 668 |
[
|
| 669 |
'slug' => 'tribe-events',
|
| 670 |
'title' => __( 'Event Blocks', 'the-events-calendar' ),
|
|
|
|
| 671 |
],
|
| 672 |
]
|
| 673 |
);
|
| 701 |
[
|
| 702 |
'slug' => 'tribe-events',
|
| 703 |
'title' => __( 'Event Blocks', 'the-events-calendar' ),
|
|
|
|
| 704 |
],
|
| 705 |
]
|
| 706 |
);
|
src/Tribe/Importer/Column_Mapper.php
CHANGED
|
@@ -89,7 +89,7 @@ class Tribe__Events__Importer__Column_Mapper {
|
|
| 89 |
/**
|
| 90 |
* Filters the Event column names that will be shown to the user.
|
| 91 |
*
|
| 92 |
-
* @param array $column_names
|
| 93 |
*/
|
| 94 |
return apply_filters( 'tribe_events_importer_event_column_names', $column_names );
|
| 95 |
}
|
|
@@ -112,7 +112,7 @@ class Tribe__Events__Importer__Column_Mapper {
|
|
| 112 |
/**
|
| 113 |
* Filters the Venue column names that will be shown to the user.
|
| 114 |
*
|
| 115 |
-
* @param array $column_names
|
| 116 |
*/
|
| 117 |
return apply_filters( 'tribe_events_importer_venue_column_names', $column_names );
|
| 118 |
}
|
|
@@ -130,7 +130,7 @@ class Tribe__Events__Importer__Column_Mapper {
|
|
| 130 |
/**
|
| 131 |
* Filters the Organizer column names that will be shown to the user.
|
| 132 |
*
|
| 133 |
-
* @param array $column_names
|
| 134 |
*/
|
| 135 |
return apply_filters( 'tribe_events_importer_organizer_column_names', $column_names );
|
| 136 |
}
|
| 89 |
/**
|
| 90 |
* Filters the Event column names that will be shown to the user.
|
| 91 |
*
|
| 92 |
+
* @param array<string|string> $column_names An array of column names for event import.
|
| 93 |
*/
|
| 94 |
return apply_filters( 'tribe_events_importer_event_column_names', $column_names );
|
| 95 |
}
|
| 112 |
/**
|
| 113 |
* Filters the Venue column names that will be shown to the user.
|
| 114 |
*
|
| 115 |
+
* @param array<string|string> $column_names An array of column names for venue import.
|
| 116 |
*/
|
| 117 |
return apply_filters( 'tribe_events_importer_venue_column_names', $column_names );
|
| 118 |
}
|
| 130 |
/**
|
| 131 |
* Filters the Organizer column names that will be shown to the user.
|
| 132 |
*
|
| 133 |
+
* @param array<string|string> $column_names An array of column names for organizer import.
|
| 134 |
*/
|
| 135 |
return apply_filters( 'tribe_events_importer_organizer_column_names', $column_names );
|
| 136 |
}
|
src/Tribe/Importer/File_Importer.php
CHANGED
|
@@ -242,6 +242,17 @@ abstract class Tribe__Events__Importer__File_Importer {
|
|
| 242 |
$post_thumbnail_process->dispatch();
|
| 243 |
}
|
| 244 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 245 |
return $id;
|
| 246 |
}
|
| 247 |
|
| 242 |
$post_thumbnail_process->dispatch();
|
| 243 |
}
|
| 244 |
|
| 245 |
+
/**
|
| 246 |
+
* Hook after an event is updated or created by the csv importer.
|
| 247 |
+
*
|
| 248 |
+
* @since 5.12.4
|
| 249 |
+
*
|
| 250 |
+
* @param integer $id The event ID to update.
|
| 251 |
+
* @param array<string|mixed> $record An event record from the import.
|
| 252 |
+
* @param Tribe__Events__Importer__File_Importer $this An instance of the Tribe__Events__Importer__File_Importer class.
|
| 253 |
+
*/
|
| 254 |
+
do_action( 'tec_events_csv_importer_post_update', $id, $record, $this );
|
| 255 |
+
|
| 256 |
return $id;
|
| 257 |
}
|
| 258 |
|
src/Tribe/Importer/File_Importer_Events.php
CHANGED
|
@@ -88,6 +88,14 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
|
|
| 88 |
return reset( $matches );
|
| 89 |
}
|
| 90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
protected function update_post( $post_id, array $record ) {
|
| 92 |
$update_authority_setting = tribe( 'events-aggregator.settings' )->default_update_authority( 'csv' );
|
| 93 |
|
|
@@ -133,6 +141,13 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
|
|
| 133 |
remove_filter( 'tribe_tracker_enabled', '__return_false' );
|
| 134 |
}
|
| 135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 136 |
protected function create_post( array $record ) {
|
| 137 |
$this->watch_term_creation();
|
| 138 |
|
|
@@ -158,6 +173,14 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
|
|
| 158 |
return $id;
|
| 159 |
}
|
| 160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 161 |
private function get_event_start_date( array $record, $date_only = false ) {
|
| 162 |
$start_date = $this->get_value_by_key( $record, 'event_start_date' );
|
| 163 |
$start_time = $this->get_value_by_key( $record, 'event_start_time' );
|
|
@@ -173,6 +196,13 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
|
|
| 173 |
return $start_date;
|
| 174 |
}
|
| 175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
private function get_event_end_date( array $record ) {
|
| 177 |
$start_date = $this->get_event_start_date( $record );
|
| 178 |
$end_date = $this->get_value_by_key( $record, 'event_end_date' );
|
|
@@ -193,6 +223,14 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
|
|
| 193 |
return $end_date;
|
| 194 |
}
|
| 195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 196 |
private function build_event_array( $event_id, array $record ) {
|
| 197 |
$start_date = strtotime( $this->get_event_start_date( $record ) );
|
| 198 |
$end_date = strtotime( $this->get_event_end_date( $record ) );
|
|
@@ -279,7 +317,16 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
|
|
| 279 |
}
|
| 280 |
}
|
| 281 |
|
| 282 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 283 |
}
|
| 284 |
|
| 285 |
/**
|
|
@@ -500,24 +547,4 @@ class Tribe__Events__Importer__File_Importer_Events extends Tribe__Events__Impor
|
|
| 500 |
|
| 501 |
return 'prefix';
|
| 502 |
}
|
| 503 |
-
|
| 504 |
-
/**
|
| 505 |
-
* Returns the `post_excerpt` to use.
|
| 506 |
-
*
|
| 507 |
-
* @deprecated5.1.6
|
| 508 |
-
*
|
| 509 |
-
* @param int $event_id The event id being updated by import.
|
| 510 |
-
* @param string $import_excerpt The imported excerpt text.
|
| 511 |
-
*
|
| 512 |
-
* @return string
|
| 513 |
-
*/
|
| 514 |
-
private function get_post_excerpt( $event_id, $import_excerpt ) {
|
| 515 |
-
_deprecated_function(
|
| 516 |
-
__METHOD__,
|
| 517 |
-
'5.1.6',
|
| 518 |
-
'$this->get_post_text_field( $event_id, $record, "event_excerpt", "post_excerpt" )'
|
| 519 |
-
);
|
| 520 |
-
|
| 521 |
-
return '';
|
| 522 |
-
}
|
| 523 |
}
|
| 88 |
return reset( $matches );
|
| 89 |
}
|
| 90 |
|
| 91 |
+
/**
|
| 92 |
+
* Update an event with the imported information.
|
| 93 |
+
*
|
| 94 |
+
* @param integer $post_id The event ID to update.
|
| 95 |
+
* @param array<string|mixed> $record An event record from the import.
|
| 96 |
+
*
|
| 97 |
+
* @return false False if the update authority is set to retain or void if the update completes.
|
| 98 |
+
*/
|
| 99 |
protected function update_post( $post_id, array $record ) {
|
| 100 |
$update_authority_setting = tribe( 'events-aggregator.settings' )->default_update_authority( 'csv' );
|
| 101 |
|
| 141 |
remove_filter( 'tribe_tracker_enabled', '__return_false' );
|
| 142 |
}
|
| 143 |
|
| 144 |
+
/**
|
| 145 |
+
* Create an event with the imported information.
|
| 146 |
+
*
|
| 147 |
+
* @param array<string|mixed> $record An event record from the import.
|
| 148 |
+
*
|
| 149 |
+
* @return integer The new event's post id.
|
| 150 |
+
*/
|
| 151 |
protected function create_post( array $record ) {
|
| 152 |
$this->watch_term_creation();
|
| 153 |
|
| 173 |
return $id;
|
| 174 |
}
|
| 175 |
|
| 176 |
+
/**
|
| 177 |
+
* Get the event start date from the import record.
|
| 178 |
+
*
|
| 179 |
+
* @param array<string|mixed> $record An event record from the import.
|
| 180 |
+
* @param boolean $date_only An optional setting to incude the date only and no time.
|
| 181 |
+
*
|
| 182 |
+
* @return string $start_date The start date time string.
|
| 183 |
+
*/
|
| 184 |
private function get_event_start_date( array $record, $date_only = false ) {
|
| 185 |
$start_date = $this->get_value_by_key( $record, 'event_start_date' );
|
| 186 |
$start_time = $this->get_value_by_key( $record, 'event_start_time' );
|
| 196 |
return $start_date;
|
| 197 |
}
|
| 198 |
|
| 199 |
+
/**
|
| 200 |
+
* Get the event end date from the import record.
|
| 201 |
+
*
|
| 202 |
+
* @param array<string|mixed> $record An event record from the import.
|
| 203 |
+
*
|
| 204 |
+
* @return string $end_date The end date time string.
|
| 205 |
+
*/
|
| 206 |
private function get_event_end_date( array $record ) {
|
| 207 |
$start_date = $this->get_event_start_date( $record );
|
| 208 |
$end_date = $this->get_value_by_key( $record, 'event_end_date' );
|
| 223 |
return $end_date;
|
| 224 |
}
|
| 225 |
|
| 226 |
+
/**
|
| 227 |
+
* Build an event array from import record.
|
| 228 |
+
*
|
| 229 |
+
* @param integer $post_id The event ID to update.
|
| 230 |
+
* @param array<string|mixed> $record An event record from the import.
|
| 231 |
+
*
|
| 232 |
+
* @return array<string|mixed> An array of information to save or update an event.
|
| 233 |
+
*/
|
| 234 |
private function build_event_array( $event_id, array $record ) {
|
| 235 |
$start_date = strtotime( $this->get_event_start_date( $record ) );
|
| 236 |
$end_date = strtotime( $this->get_event_end_date( $record ) );
|
| 317 |
}
|
| 318 |
}
|
| 319 |
|
| 320 |
+
/**
|
| 321 |
+
* Filter the csv event import event meta.
|
| 322 |
+
*
|
| 323 |
+
* @since 5.12.4
|
| 324 |
+
*
|
| 325 |
+
* @param array<string|mixed> $event An array event meta fields.
|
| 326 |
+
*
|
| 327 |
+
* @return array<string|mixed> An array of the autodetect results.
|
| 328 |
+
*/
|
| 329 |
+
return apply_filters( 'tec_events_csv_import_event_meta', $event, $record, $this );
|
| 330 |
}
|
| 331 |
|
| 332 |
/**
|
| 547 |
|
| 548 |
return 'prefix';
|
| 549 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 550 |
}
|
src/Tribe/Importer/File_Importer_Organizers.php
CHANGED
|
@@ -96,29 +96,6 @@ class Tribe__Events__Importer__File_Importer_Organizers extends Tribe__Events__I
|
|
| 96 |
// Handle the manual stuff.
|
| 97 |
$organizer['FeaturedImage'] = $this->get_featured_image( $organizer, $record );
|
| 98 |
|
| 99 |
-
/**
|
| 100 |
-
* Allows filtering of record values before import.
|
| 101 |
-
* Deprecated to match filter naming conventions.
|
| 102 |
-
*
|
| 103 |
-
* @since 4.2
|
| 104 |
-
* @deprecated5.1.6
|
| 105 |
-
*
|
| 106 |
-
* @param array $organizer The array of organizer data we're modifying.
|
| 107 |
-
* @param array $record The event record from the import.
|
| 108 |
-
* @param int $organizer_id The ID of the organizer we're currently importing.
|
| 109 |
-
*/
|
| 110 |
-
$organizer = apply_filters_deprecated(
|
| 111 |
-
'tribe_events_csv_import_organizer_fields',
|
| 112 |
-
[
|
| 113 |
-
$organizer,
|
| 114 |
-
$record,
|
| 115 |
-
$organizer_id,
|
| 116 |
-
$this,
|
| 117 |
-
],
|
| 118 |
-
'5.1.6',
|
| 119 |
-
'tribe_events_importer_organizer_fields'
|
| 120 |
-
);
|
| 121 |
-
|
| 122 |
/**
|
| 123 |
* Allows filtering of record values before import.
|
| 124 |
*
|
| 96 |
// Handle the manual stuff.
|
| 97 |
$organizer['FeaturedImage'] = $this->get_featured_image( $organizer, $record );
|
| 98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 99 |
/**
|
| 100 |
* Allows filtering of record values before import.
|
| 101 |
*
|
src/Tribe/Main.php
CHANGED
|
@@ -32,7 +32,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 32 |
const VENUE_POST_TYPE = 'tribe_venue';
|
| 33 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
| 34 |
|
| 35 |
-
const VERSION = '5.12.
|
| 36 |
|
| 37 |
/**
|
| 38 |
* Min Pro Addon
|
|
@@ -600,6 +600,8 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 600 |
tribe_singleton( 'tec.admin.notice.timezones', 'Tribe__Events__Admin__Notice__Timezones', [ 'hook' ] );
|
| 601 |
tribe_singleton( 'tec.admin.notice.marketing', 'Tribe__Events__Admin__Notice__Marketing', [ 'hook' ] );
|
| 602 |
tribe_singleton( Tribe\Events\Admin\Notice\Legacy_Views_Deprecation::class, Tribe\Events\Admin\Notice\Legacy_Views_Deprecation::class, [ 'hook' ] );
|
|
|
|
|
|
|
| 603 |
|
| 604 |
// GDPR Privacy
|
| 605 |
tribe_singleton( 'tec.privacy', 'Tribe__Events__Privacy', [ 'hook' ] );
|
|
@@ -968,6 +970,7 @@ if ( ! class_exists( 'Tribe__Events__Main' ) ) {
|
|
| 968 |
tribe( 'tec.admin.notice.timezones' );
|
| 969 |
tribe( 'tec.admin.notice.marketing' );
|
| 970 |
tribe( Tribe\Events\Admin\Notice\Legacy_Views_Deprecation::class );
|
|
|
|
| 971 |
tribe( 'tec.privacy' );
|
| 972 |
tribe( Tribe__Events__Capabilities::class );
|
| 973 |
}
|
| 32 |
const VENUE_POST_TYPE = 'tribe_venue';
|
| 33 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
| 34 |
|
| 35 |
+
const VERSION = '5.12.4';
|
| 36 |
|
| 37 |
/**
|
| 38 |
* Min Pro Addon
|
| 600 |
tribe_singleton( 'tec.admin.notice.timezones', 'Tribe__Events__Admin__Notice__Timezones', [ 'hook' ] );
|
| 601 |
tribe_singleton( 'tec.admin.notice.marketing', 'Tribe__Events__Admin__Notice__Marketing', [ 'hook' ] );
|
| 602 |
tribe_singleton( Tribe\Events\Admin\Notice\Legacy_Views_Deprecation::class, Tribe\Events\Admin\Notice\Legacy_Views_Deprecation::class, [ 'hook' ] );
|
| 603 |
+
tribe_singleton( Tribe\Events\Admin\Notice\Full_Site_Editor::class, Tribe\Events\Admin\Notice\Full_Site_Editor::class, [ 'hook' ] );
|
| 604 |
+
|
| 605 |
|
| 606 |
// GDPR Privacy
|
| 607 |
tribe_singleton( 'tec.privacy', 'Tribe__Events__Privacy', [ 'hook' ] );
|
| 970 |
tribe( 'tec.admin.notice.timezones' );
|
| 971 |
tribe( 'tec.admin.notice.marketing' );
|
| 972 |
tribe( Tribe\Events\Admin\Notice\Legacy_Views_Deprecation::class );
|
| 973 |
+
tribe( Tribe\Events\Admin\Notice\Full_Site_Editor::class );
|
| 974 |
tribe( 'tec.privacy' );
|
| 975 |
tribe( Tribe__Events__Capabilities::class );
|
| 976 |
}
|
src/Tribe/Repositories/Event.php
CHANGED
|
@@ -1538,11 +1538,20 @@ class Tribe__Events__Repositories__Event extends Tribe__Repository {
|
|
| 1538 |
default:
|
| 1539 |
$after = $after || 1 === $loop;
|
| 1540 |
if ( empty( $this->query_args['orderby'] ) ) {
|
| 1541 |
-
|
|
|
|
|
|
|
| 1542 |
} else {
|
| 1543 |
$add = [ $order_by => $order ];
|
| 1544 |
// Make sure all `orderby` clauses have the shape `<orderby> => <order>`.
|
| 1545 |
$normalized = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1546 |
foreach ( $this->query_args['orderby'] as $k => $v ) {
|
| 1547 |
$the_order_by = is_numeric( $k ) ? $v : $k;
|
| 1548 |
$the_order = is_numeric( $k ) ? $default_order : $v;
|
| 1538 |
default:
|
| 1539 |
$after = $after || 1 === $loop;
|
| 1540 |
if ( empty( $this->query_args['orderby'] ) ) {
|
| 1541 |
+
// In some versions of WP, [ $order_by, $order ] doesn't work as expected. Using explict value setting instead.
|
| 1542 |
+
$this->query_args['orderby'] = $order_by;
|
| 1543 |
+
$this->query_args['order'] = $order;
|
| 1544 |
} else {
|
| 1545 |
$add = [ $order_by => $order ];
|
| 1546 |
// Make sure all `orderby` clauses have the shape `<orderby> => <order>`.
|
| 1547 |
$normalized = [];
|
| 1548 |
+
|
| 1549 |
+
if ( ! is_array( $this->query_args['orderby'] ) ) {
|
| 1550 |
+
$this->query_args['orderby'] = [
|
| 1551 |
+
$this->query_args['orderby'] => $this->query_args['order']
|
| 1552 |
+
];
|
| 1553 |
+
}
|
| 1554 |
+
|
| 1555 |
foreach ( $this->query_args['orderby'] as $k => $v ) {
|
| 1556 |
$the_order_by = is_numeric( $k ) ? $v : $k;
|
| 1557 |
$the_order = is_numeric( $k ) ? $default_order : $v;
|
src/Tribe/Views/V2/Hooks.php
CHANGED
|
@@ -67,6 +67,7 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 67 |
add_action( 'the_post', [ $this, 'manage_sensitive_info' ] );
|
| 68 |
add_action( 'get_header', [ $this, 'print_single_json_ld' ] );
|
| 69 |
add_action( 'tribe_template_after_include:events/v2/components/after', [ $this, 'action_add_promo_banner' ], 10, 3 );
|
|
|
|
| 70 |
}
|
| 71 |
|
| 72 |
/**
|
|
@@ -75,9 +76,9 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 75 |
* @since 4.9.2
|
| 76 |
*/
|
| 77 |
protected function add_filters() {
|
|
|
|
| 78 |
add_filter( 'wp_redirect', [ $this, 'filter_redirect_canonical' ], 10, 2 );
|
| 79 |
add_filter( 'redirect_canonical', [ $this, 'filter_redirect_canonical' ], 10, 2 );
|
| 80 |
-
add_action( 'tribe_events_parse_query', [ $this, 'parse_query' ] );
|
| 81 |
add_filter( 'template_include', [ $this, 'filter_template_include' ], 50 );
|
| 82 |
add_filter( 'embed_template', [ $this, 'filter_template_include' ], 50 );
|
| 83 |
add_filter( 'posts_pre_query', [ $this, 'filter_posts_pre_query' ], 20, 2 );
|
|
@@ -1060,4 +1061,20 @@ class Hooks extends \tad_DI52_ServiceProvider {
|
|
| 1060 |
|
| 1061 |
return tribe( 'customizer' )->filter_single_event_css_template( $css_template, $section );
|
| 1062 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1063 |
}
|
| 67 |
add_action( 'the_post', [ $this, 'manage_sensitive_info' ] );
|
| 68 |
add_action( 'get_header', [ $this, 'print_single_json_ld' ] );
|
| 69 |
add_action( 'tribe_template_after_include:events/v2/components/after', [ $this, 'action_add_promo_banner' ], 10, 3 );
|
| 70 |
+
add_action( 'tribe_events_parse_query', [ $this, 'parse_query' ] );
|
| 71 |
}
|
| 72 |
|
| 73 |
/**
|
| 76 |
* @since 4.9.2
|
| 77 |
*/
|
| 78 |
protected function add_filters() {
|
| 79 |
+
add_filter( 'tec_system_information', [ $this, 'filter_system_information' ] );
|
| 80 |
add_filter( 'wp_redirect', [ $this, 'filter_redirect_canonical' ], 10, 2 );
|
| 81 |
add_filter( 'redirect_canonical', [ $this, 'filter_redirect_canonical' ], 10, 2 );
|
|
|
|
| 82 |
add_filter( 'template_include', [ $this, 'filter_template_include' ], 50 );
|
| 83 |
add_filter( 'embed_template', [ $this, 'filter_template_include' ], 50 );
|
| 84 |
add_filter( 'posts_pre_query', [ $this, 'filter_posts_pre_query' ], 20, 2 );
|
| 1061 |
|
| 1062 |
return tribe( 'customizer' )->filter_single_event_css_template( $css_template, $section );
|
| 1063 |
}
|
| 1064 |
+
|
| 1065 |
+
/**
|
| 1066 |
+
* Add the views v2 status in a more prominent way in the Troubleshooting page system info panel.
|
| 1067 |
+
*
|
| 1068 |
+
* @since 5.12.4
|
| 1069 |
+
*
|
| 1070 |
+
* @param array $info Existing information that will be displayed.
|
| 1071 |
+
*
|
| 1072 |
+
* @return array
|
| 1073 |
+
*/
|
| 1074 |
+
public function filter_system_information( array $info = [] ) {
|
| 1075 |
+
$views_v2_status = [
|
| 1076 |
+
'Views V2 Status' => tribe_events_views_v2_is_enabled() ? esc_html__( 'Enabled', 'the-events-calendar' ) : esc_html__( 'Disabled', 'the-events-calendar' ),
|
| 1077 |
+
];
|
| 1078 |
+
return \Tribe__Main::array_insert_before_key( 'Settings', $info, $views_v2_status );
|
| 1079 |
+
}
|
| 1080 |
}
|
src/resources/css/app/widgets.min.css
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
.block-editor-block-list__block .wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title{font-size:24px;line-height:1;margin:10px 0}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control--text{margin-bottom:16px}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control__section-title{font-size:24px;line-height:1;margin:18px 0 12px}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control--multiselect{margin:15px 0}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .select2-selection__rendered{font-size:14px;line-height:1}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .calendar-widget-filter-item{font-size:16px;line-height:1}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control.tribe-widget-form-control--fieldset.tribe-common-form-control-checkbox-checkbox-group,.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control.tribe-widget-form-control--fieldset.tribe-common-form-control-checkbox-radio-group{padding:15px 30px}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .fusion-menu-options-container
|
| 1 |
+
.block-editor-block-list__block .wp-block-legacy-widget__edit-form{padding:10px 20px}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title{font-size:24px;line-height:1;margin:10px 0}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control--text{margin-bottom:16px}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control__section-title{font-size:24px;line-height:1;margin:18px 0 12px}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control--multiselect{margin:15px 0}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .select2-selection__rendered{font-size:14px;line-height:1}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .calendar-widget-filter-item{font-size:16px;line-height:1}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control.tribe-widget-form-control--fieldset.tribe-common-form-control-checkbox-checkbox-group,.block-editor-block-list__block .wp-block-legacy-widget__edit-form .tribe-widget-form-control.tribe-widget-form-control--fieldset.tribe-common-form-control-checkbox-radio-group{padding:15px 30px}.block-editor-block-list__block .wp-block-legacy-widget__edit-form .fusion-menu-options-container{display:none}
|
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.12.
|
| 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.12.4
|
| 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
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit078a5e75eef60922f137f44f3ba2f444::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
|
@@ -6,6 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
| 6 |
$baseDir = dirname($vendorDir);
|
| 7 |
|
| 8 |
return array(
|
|
|
|
| 9 |
'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => $baseDir . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
|
| 10 |
'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => $baseDir . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
|
| 11 |
'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => $baseDir . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
|
| 6 |
$baseDir = dirname($vendorDir);
|
| 7 |
|
| 8 |
return array(
|
| 9 |
+
'Tribe\\Events\\Admin\\Notice\\Full_Site_Editor' => $baseDir . '/src/Tribe/Admin/Notice/Full_Site_Editor.php',
|
| 10 |
'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => $baseDir . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
|
| 11 |
'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => $baseDir . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
|
| 12 |
'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => $baseDir . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
|
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 ComposerAutoloaderInit47c1cd7d14900707cfbb328d40395b61
|
|
| 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 ComposerAutoloaderInit078a5e75eef60922f137f44f3ba2f444
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit078a5e75eef60922f137f44f3ba2f444', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit078a5e75eef60922f137f44f3ba2f444', '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\ComposerStaticInit078a5e75eef60922f137f44f3ba2f444::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' =>
|
|
@@ -21,6 +21,7 @@ class ComposerStaticInit47c1cd7d14900707cfbb328d40395b61
|
|
| 21 |
);
|
| 22 |
|
| 23 |
public static $classMap = array (
|
|
|
|
| 24 |
'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
|
| 25 |
'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
|
| 26 |
'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
|
|
@@ -133,9 +134,9 @@ class ComposerStaticInit47c1cd7d14900707cfbb328d40395b61
|
|
| 133 |
public static function getInitializer(ClassLoader $loader)
|
| 134 |
{
|
| 135 |
return \Closure::bind(function () use ($loader) {
|
| 136 |
-
$loader->prefixLengthsPsr4 =
|
| 137 |
-
$loader->prefixDirsPsr4 =
|
| 138 |
-
$loader->classMap =
|
| 139 |
|
| 140 |
}, null, ClassLoader::class);
|
| 141 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit078a5e75eef60922f137f44f3ba2f444
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'T' =>
|
| 21 |
);
|
| 22 |
|
| 23 |
public static $classMap = array (
|
| 24 |
+
'Tribe\\Events\\Admin\\Notice\\Full_Site_Editor' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Full_Site_Editor.php',
|
| 25 |
'Tribe\\Events\\Admin\\Notice\\Legacy_Views_Deprecation' => __DIR__ . '/../..' . '/src/Tribe/Admin/Notice/Legacy_Views_Deprecation.php',
|
| 26 |
'Tribe\\Events\\Aggregator\\Processes\\Batch_Imports' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Processes/Batch_Imports.php',
|
| 27 |
'Tribe\\Events\\Aggregator\\Record\\Batch_Queue' => __DIR__ . '/../..' . '/src/Tribe/Aggregator/Record/Batch_Queue.php',
|
| 134 |
public static function getInitializer(ClassLoader $loader)
|
| 135 |
{
|
| 136 |
return \Closure::bind(function () use ($loader) {
|
| 137 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit078a5e75eef60922f137f44f3ba2f444::$prefixLengthsPsr4;
|
| 138 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit078a5e75eef60922f137f44f3ba2f444::$prefixDirsPsr4;
|
| 139 |
+
$loader->classMap = ComposerStaticInit078a5e75eef60922f137f44f3ba2f444::$classMap;
|
| 140 |
|
| 141 |
}, null, ClassLoader::class);
|
| 142 |
}
|
