The Events Calendar - Version 5.0.2.1

Version Description

= [5.0] =

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

Download this release

Release Info

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

Code changes from version 5.0.2 to 5.0.2.1

common/src/Tribe/Dependency.php CHANGED
@@ -301,11 +301,11 @@ if ( ! class_exists( 'Tribe__Dependency' ) ) {
301
*
302
* @since 4.9
303
*
304
- * @param array $plugin An array of data for given registered plugin
305
- * @param array $dependencies An array of dependencies for a plugin
306
- * @param bool $addon Indicates if the plugin is an add-on for The Events Calendar or Event Tickets
307
*
308
- * @return bool returns false if any dependency is invalid
309
*/
310
public function has_valid_dependencies( $plugin, $dependencies = array(), $addon = false ) {
311
if ( empty( $dependencies ) ) {
@@ -409,11 +409,11 @@ if ( ! class_exists( 'Tribe__Dependency' ) ) {
409
*
410
* @since 4.9
411
*
412
- * @param $file_path
413
- * @param $main_class
414
- * @param $version
415
- * @param array $classes_req
416
- * @param array $dependencies
417
*/
418
public function register_plugin( $file_path, $main_class, $version, $classes_req = array(), $dependencies = array() ) {
419
/**
@@ -475,11 +475,7 @@ if ( ! class_exists( 'Tribe__Dependency' ) ) {
475
*
476
* @since 4.9
477
*
478
- * @param string $file_path Full file path to the base plugin file
479
* @param string $main_class The Main/base class for this plugin
480
- * @param string $version The version
481
- * @param array $classes_req Any Main class files/tribe plugins required for this to run
482
- * @param array $dependencies an array of dependencies to check
483
*
484
* @return bool Indicates if plugin should continue initialization
485
*/
@@ -487,25 +483,25 @@ if ( ! class_exists( 'Tribe__Dependency' ) ) {
487
488
$parent_dependencies = $co_dependencies = $addon_dependencies = 0;
489
490
- //check if plugin is registered, if not return false
491
$plugin = $this->get_registered_plugin( $main_class );
492
if ( empty( $plugin ) ) {
493
return false;
494
}
495
496
- // check parent dependencies in add-on
497
if ( ! empty( $plugin['dependencies']['parent-dependencies'] ) ) {
498
$parent_dependencies = $this->has_valid_dependencies( $plugin, $plugin['dependencies']['parent-dependencies'] );
499
}
500
- //check co-dependencies in add-on
501
if ( ! empty( $plugin['dependencies']['co-dependencies'] ) ) {
502
$co_dependencies = $this->has_valid_dependencies( $plugin, $plugin['dependencies']['co-dependencies'] );
503
}
504
505
- //check add-on dependencies from parent
506
$addon_dependencies = $this->check_addon_dependencies( $main_class );
507
508
- //if good then we set as active plugin and continue to load
509
if ( ! $parent_dependencies && ! $co_dependencies && ! $addon_dependencies ) {
510
$this->add_active_plugin( $main_class, $plugin['version'], $plugin['path'] );
511
@@ -520,23 +516,26 @@ if ( ! class_exists( 'Tribe__Dependency' ) ) {
520
*
521
* @since 4.9
522
*
523
- * @param string $main_class a string of the main class for the plugin being checked
524
*
525
- * @return bool returns false if any dependency is invalid
526
*/
527
protected function check_addon_dependencies( $main_class ) {
528
-
529
- $addon_dependencies = 0;
530
-
531
foreach ( $this->registered_plugins as $registered ) {
532
if ( empty( $registered['dependencies']['addon-dependencies'][ $main_class ] ) ) {
533
continue;
534
}
535
536
- $addon_dependencies = $this->has_valid_dependencies( $registered, $registered['dependencies']['addon-dependencies'], true );
537
}
538
539
- return $addon_dependencies;
540
}
541
542
/**
@@ -551,4 +550,4 @@ if ( ! class_exists( 'Tribe__Dependency' ) ) {
551
}
552
}
553
554
- }
301
*
302
* @since 4.9
303
*
304
+ * @param array $plugin An array of data for given registered plugin.,
305
+ * @param array $dependencies An array of dependencies for a plugin.
306
+ * @param bool $addon Indicates if the plugin is an add-on for The Events Calendar or Event Tickets.
307
*
308
+ * @return true|int The number of failed dependency checks; `true` or `0` to indicate no checks failed.
309
*/
310
public function has_valid_dependencies( $plugin, $dependencies = array(), $addon = false ) {
311
if ( empty( $dependencies ) ) {
409
*
410
* @since 4.9
411
*
412
+ * @param string $file_path Full file path to the base plugin file.
413
+ * @param string $main_class The Main/base class for this plugin.
414
+ * @param string $version The plugin version.
415
+ * @param array $classes_req Any Main class files/tribe plugins required for this to run.
416
+ * @param array $dependencies an array of dependencies to check.
417
*/
418
public function register_plugin( $file_path, $main_class, $version, $classes_req = array(), $dependencies = array() ) {
419
/**
475
*
476
* @since 4.9
477
*
478
* @param string $main_class The Main/base class for this plugin
479
*
480
* @return bool Indicates if plugin should continue initialization
481
*/
483
484
$parent_dependencies = $co_dependencies = $addon_dependencies = 0;
485
486
+ // Check if plugin is registered, if not return false.
487
$plugin = $this->get_registered_plugin( $main_class );
488
if ( empty( $plugin ) ) {
489
return false;
490
}
491
492
+ // Check parent dependencies in add-on.
493
if ( ! empty( $plugin['dependencies']['parent-dependencies'] ) ) {
494
$parent_dependencies = $this->has_valid_dependencies( $plugin, $plugin['dependencies']['parent-dependencies'] );
495
}
496
+ // Check co-dependencies in add-on.
497
if ( ! empty( $plugin['dependencies']['co-dependencies'] ) ) {
498
$co_dependencies = $this->has_valid_dependencies( $plugin, $plugin['dependencies']['co-dependencies'] );
499
}
500
501
+ // Check add-on dependencies from parent.
502
$addon_dependencies = $this->check_addon_dependencies( $main_class );
503
504
+ // If good then we set as active plugin and continue to load.
505
if ( ! $parent_dependencies && ! $co_dependencies && ! $addon_dependencies ) {
506
$this->add_active_plugin( $main_class, $plugin['version'], $plugin['path'] );
507
516
*
517
* @since 4.9
518
*
519
+ * @param string $main_class A string of the main class for the plugin being checked.
520
*
521
+ * @return bool Returns false if any dependency is invalid.
522
*/
523
protected function check_addon_dependencies( $main_class ) {
524
foreach ( $this->registered_plugins as $registered ) {
525
if ( empty( $registered['dependencies']['addon-dependencies'][ $main_class ] ) ) {
526
continue;
527
}
528
529
+ $dependencies = [ $main_class => $registered['dependencies']['addon-dependencies'][ $main_class ] ];
530
+ $check = $this->has_valid_dependencies( $registered, $dependencies, true );
531
+
532
+ // A value of `true` or `0` indicates there are no failing checks. So here we check for ints gt 0.
533
+ if ( is_int( $check ) && $check > 0 ) {
534
+ return true;
535
+ }
536
}
537
538
+ return false;
539
}
540
541
/**
550
}
551
}
552
553
+ }
common/src/Tribe/Main.php CHANGED
@@ -17,7 +17,7 @@ class Tribe__Main {
17
const OPTIONNAME = 'tribe_events_calendar_options';
18
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
19
20
- const VERSION = '4.11.2';
21
22
const FEED_URL = 'https://theeventscalendar.com/feed/';
23
17
const OPTIONNAME = 'tribe_events_calendar_options';
18
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
19
20
+ const VERSION = '4.11.2.1';
21
22
const FEED_URL = 'https://theeventscalendar.com/feed/';
23
common/vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
5
require_once __DIR__ . '/composer/autoload_real.php';
6
7
- return ComposerAutoloaderInit8a67bab8c782c5f0d365a853a40fa332::getLoader();
4
5
require_once __DIR__ . '/composer/autoload_real.php';
6
7
+ return ComposerAutoloaderInit0d1af3ec6ced308fb21a062a724bef9c::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 ComposerAutoloaderInit26ee0b58158ad623117f113f40cb57bf::getLoader();
4
5
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
7
+ return ComposerAutoloaderInitc3b8a139f54d47d8f50d950bd0be6b66::getLoader();
common/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
3
// autoload_real.php @generated by Composer
4
5
- class ComposerAutoloaderInit8a67bab8c782c5f0d365a853a40fa332
6
{
7
private static $loader;
8
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit8a67bab8c782c5f0d365a853a40fa332
19
return self::$loader;
20
}
21
22
- spl_autoload_register(array('ComposerAutoloaderInit8a67bab8c782c5f0d365a853a40fa332', 'loadClassLoader'), true, true);
23
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit8a67bab8c782c5f0d365a853a40fa332', '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\ComposerStaticInit8a67bab8c782c5f0d365a853a40fa332::getInitializer($loader));
31
} else {
32
$map = require __DIR__ . '/autoload_namespaces.php';
33
foreach ($map as $namespace => $path) {
2
3
// autoload_real.php @generated by Composer
4
5
+ class ComposerAutoloaderInit0d1af3ec6ced308fb21a062a724bef9c
6
{
7
private static $loader;
8
19
return self::$loader;
20
}
21
22
+ spl_autoload_register(array('ComposerAutoloaderInit0d1af3ec6ced308fb21a062a724bef9c', 'loadClassLoader'), true, true);
23
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit0d1af3ec6ced308fb21a062a724bef9c', '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\ComposerStaticInit0d1af3ec6ced308fb21a062a724bef9c::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 ComposerAutoloaderInit26ee0b58158ad623117f113f40cb57bf {
6
private static $loader;
7
8
public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit26ee0b58158ad623117f113f40cb57bf {
19
return self::$loader;
20
}
21
22
- spl_autoload_register(array('ComposerAutoloaderInit26ee0b58158ad623117f113f40cb57bf', 'loadClassLoader'), true /*, true */);
23
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit26ee0b58158ad623117f113f40cb57bf', 'loadClassLoader'));
25
26
$vendorDir = dirname(dirname(__FILE__));
27
$baseDir = dirname($vendorDir);
2
3
// autoload_real_52.php generated by xrstf/composer-php52
4
5
+ class ComposerAutoloaderInitc3b8a139f54d47d8f50d950bd0be6b66 {
6
private static $loader;
7
8
public static function loadClassLoader($class) {
19
return self::$loader;
20
}
21
22
+ spl_autoload_register(array('ComposerAutoloaderInitc3b8a139f54d47d8f50d950bd0be6b66', 'loadClassLoader'), true /*, true */);
23
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInitc3b8a139f54d47d8f50d950bd0be6b66', '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 ComposerStaticInit8a67bab8c782c5f0d365a853a40fa332
8
{
9
public static $prefixLengthsPsr4 = array (
10
'T' =>
@@ -207,10 +207,10 @@ class ComposerStaticInit8a67bab8c782c5f0d365a853a40fa332
207
public static function getInitializer(ClassLoader $loader)
208
{
209
return \Closure::bind(function () use ($loader) {
210
- $loader->prefixLengthsPsr4 = ComposerStaticInit8a67bab8c782c5f0d365a853a40fa332::$prefixLengthsPsr4;
211
- $loader->prefixDirsPsr4 = ComposerStaticInit8a67bab8c782c5f0d365a853a40fa332::$prefixDirsPsr4;
212
- $loader->prefixesPsr0 = ComposerStaticInit8a67bab8c782c5f0d365a853a40fa332::$prefixesPsr0;
213
- $loader->classMap = ComposerStaticInit8a67bab8c782c5f0d365a853a40fa332::$classMap;
214
215
}, null, ClassLoader::class);
216
}
4
5
namespace Composer\Autoload;
6
7
+ class ComposerStaticInit0d1af3ec6ced308fb21a062a724bef9c
8
{
9
public static $prefixLengthsPsr4 = array (
10
'T' =>
207
public static function getInitializer(ClassLoader $loader)
208
{
209
return \Closure::bind(function () use ($loader) {
210
+ $loader->prefixLengthsPsr4 = ComposerStaticInit0d1af3ec6ced308fb21a062a724bef9c::$prefixLengthsPsr4;
211
+ $loader->prefixDirsPsr4 = ComposerStaticInit0d1af3ec6ced308fb21a062a724bef9c::$prefixDirsPsr4;
212
+ $loader->prefixesPsr0 = ComposerStaticInit0d1af3ec6ced308fb21a062a724bef9c::$prefixesPsr0;
213
+ $loader->classMap = ComposerStaticInit0d1af3ec6ced308fb21a062a724bef9c::$classMap;
214
215
}, null, ClassLoader::class);
216
}
lang/the-events-calendar-de_DE.mo CHANGED
Binary file
lang/the-events-calendar-es_ES.mo CHANGED
Binary file
lang/the-events-calendar-nb_NO.mo CHANGED
Binary file
lang/the-events-calendar-nn_NO.mo CHANGED
Binary file
readme.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: ModernTribe, borkweb, barry.hughes, bordoni, brianjessee, aguseo,
4
Tags: events, calendar, event, venue, organizer, dates, date, google maps, conference, workshop, concert, meeting, seminar, summit, class, modern tribe, tribe, widget
5
Donate link: http://m.tri.be/29
6
Requires at least: 4.9
7
- Stable tag: 5.0.2
8
Tested up to: 5.3.2
9
Requires PHP: 5.6
10
License: GPLv2 or later
@@ -94,17 +94,14 @@ That's it! Just configure your settings as you see fit, and you're on your way t
94
== Screenshots ==
95
96
1. Month View with hover
97
- 2. Month View
98
- 3. List View
99
- 4. Day View
100
- 5. Single event
101
- 6. Event Editor
102
- 7. Events admin listing
103
- 8. General Settings
104
- 9. Display Settings
105
- 10. Events List Widget
106
- 11. Mobile Month View
107
- 12. CSV Importer
108
109
== Frequently Asked Questions ==
110
@@ -223,6 +220,10 @@ Remember to always make a backup of your database and files before updating!
223
224
== Changelog ==
225
226
= [5.0.2] 2020-02-19 =
227
228
* Version - The Events Calendar 5.0.2 is only compatible with Filter Bar 4.9.2 and higher
4
Tags: events, calendar, event, venue, organizer, dates, date, google maps, conference, workshop, concert, meeting, seminar, summit, class, modern tribe, tribe, widget
5
Donate link: http://m.tri.be/29
6
Requires at least: 4.9
7
+ Stable tag: 5.0.2.1
8
Tested up to: 5.3.2
9
Requires PHP: 5.6
10
License: GPLv2 or later
94
== Screenshots ==
95
96
1. Month View with hover
97
+ 2. Mobile Views
98
+ 3. Single event
99
+ 4. List View
100
+ 5. Event Editor
101
+ 6. Events admin listing
102
+ 7. General Settings
103
+ 8. Display Settings
104
+ 9. CSV Importer
105
106
== Frequently Asked Questions ==
107
220
221
== Changelog ==
222
223
+ = [5.0.2.1] 2020-02-25 =
224
+
225
+ * Fix - Plugin dependency registration with `Plugin_Register` will not prevent loading of all plugins in list if the last item loaded fails. [TCMN-41]
226
+
227
= [5.0.2] 2020-02-19 =
228
229
* Version - The Events Calendar 5.0.2 is only compatible with Filter Bar 4.9.2 and higher
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.0.2';
36
37
/**
38
* Min Pro Addon
32
const VENUE_POST_TYPE = 'tribe_venue';
33
const ORGANIZER_POST_TYPE = 'tribe_organizer';
34
35
+ const VERSION = '5.0.2.1';
36
37
/**
38
* Min Pro Addon
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.0.2
6
* Author: Modern Tribe, Inc.
7
* Author URI: http://m.tri.be/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.0.2.1
6
* Author: Modern Tribe, Inc.
7
* Author URI: http://m.tri.be/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 ComposerAutoloaderInitf9be21f72a00ed90ee8c58bcb9aa86a6::getLoader();
4
5
require_once __DIR__ . '/composer/autoload_real.php';
6
7
+ return ComposerAutoloaderInitde607817ee3d2e83ae81ad71e6007d43::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
3
// autoload_real.php @generated by Composer
4
5
- class ComposerAutoloaderInitf9be21f72a00ed90ee8c58bcb9aa86a6
6
{
7
private static $loader;
8
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitf9be21f72a00ed90ee8c58bcb9aa86a6
19
return self::$loader;
20
}
21
22
- spl_autoload_register(array('ComposerAutoloaderInitf9be21f72a00ed90ee8c58bcb9aa86a6', 'loadClassLoader'), true, true);
23
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitf9be21f72a00ed90ee8c58bcb9aa86a6', '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\ComposerStaticInitf9be21f72a00ed90ee8c58bcb9aa86a6::getInitializer($loader));
31
} else {
32
$map = require __DIR__ . '/autoload_namespaces.php';
33
foreach ($map as $namespace => $path) {
2
3
// autoload_real.php @generated by Composer
4
5
+ class ComposerAutoloaderInitde607817ee3d2e83ae81ad71e6007d43
6
{
7
private static $loader;
8
19
return self::$loader;
20
}
21
22
+ spl_autoload_register(array('ComposerAutoloaderInitde607817ee3d2e83ae81ad71e6007d43', 'loadClassLoader'), true, true);
23
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInitde607817ee3d2e83ae81ad71e6007d43', '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\ComposerStaticInitde607817ee3d2e83ae81ad71e6007d43::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 ComposerStaticInitf9be21f72a00ed90ee8c58bcb9aa86a6
8
{
9
public static $prefixLengthsPsr4 = array (
10
'T' =>
@@ -244,9 +244,9 @@ class ComposerStaticInitf9be21f72a00ed90ee8c58bcb9aa86a6
244
public static function getInitializer(ClassLoader $loader)
245
{
246
return \Closure::bind(function () use ($loader) {
247
- $loader->prefixLengthsPsr4 = ComposerStaticInitf9be21f72a00ed90ee8c58bcb9aa86a6::$prefixLengthsPsr4;
248
- $loader->prefixDirsPsr4 = ComposerStaticInitf9be21f72a00ed90ee8c58bcb9aa86a6::$prefixDirsPsr4;
249
- $loader->classMap = ComposerStaticInitf9be21f72a00ed90ee8c58bcb9aa86a6::$classMap;
250
251
}, null, ClassLoader::class);
252
}
4
5
namespace Composer\Autoload;
6
7
+ class ComposerStaticInitde607817ee3d2e83ae81ad71e6007d43
8
{
9
public static $prefixLengthsPsr4 = array (
10
'T' =>
244
public static function getInitializer(ClassLoader $loader)
245
{
246
return \Closure::bind(function () use ($loader) {
247
+ $loader->prefixLengthsPsr4 = ComposerStaticInitde607817ee3d2e83ae81ad71e6007d43::$prefixLengthsPsr4;
248
+ $loader->prefixDirsPsr4 = ComposerStaticInitde607817ee3d2e83ae81ad71e6007d43::$prefixDirsPsr4;
249
+ $loader->classMap = ComposerStaticInitde607817ee3d2e83ae81ad71e6007d43::$classMap;
250
251
}, null, ClassLoader::class);
252
}