All-in-One Event Calendar - Version 2.5.33

Version Description

Download this release

Release Info

Developer calvinyeh
Plugin Icon 128x128 All-in-One Event Calendar
Version 2.5.33
Comparing to
See all releases

Code changes from version 2.5.32 to 2.5.33

all-in-one-event-calendar.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: A calendar system with month, week, day, agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
6
  * Author: Time.ly Network Inc.
7
  * Author URI: https://time.ly/
8
- * Version: 2.5.32
9
  * Text Domain: all-in-one-event-calendar
10
  * Domain Path: /language
11
  */
@@ -71,6 +71,9 @@ require $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'lib' .
71
  require $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'lib' .
72
  DIRECTORY_SEPARATOR . 'global-functions.php';
73
 
 
 
 
74
  require $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'app' .
75
  DIRECTORY_SEPARATOR . 'controller' . DIRECTORY_SEPARATOR . 'extension.php';
76
 
5
  * Description: A calendar system with month, week, day, agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
6
  * Author: Time.ly Network Inc.
7
  * Author URI: https://time.ly/
8
+ * Version: 2.5.33
9
  * Text Domain: all-in-one-event-calendar
10
  * Domain Path: /language
11
  */
71
  require $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'lib' .
72
  DIRECTORY_SEPARATOR . 'global-functions.php';
73
 
74
+ require $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'lib' .
75
+ DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.24.2' . DIRECTORY_SEPARATOR . 'autoload.php';
76
+
77
  require $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'app' .
78
  DIRECTORY_SEPARATOR . 'controller' . DIRECTORY_SEPARATOR . 'extension.php';
79
 
app/config/constants.php CHANGED
@@ -50,7 +50,7 @@ function ai1ec_initiate_constants( $ai1ec_base_dir, $ai1ec_base_url ) {
50
  // = Plugin Version =
51
  // ==================
52
  if ( ! defined( 'AI1EC_VERSION' ) ) {
53
- define( 'AI1EC_VERSION', '2.5.32' );
54
  }
55
 
56
  // ================
50
  // = Plugin Version =
51
  // ==================
52
  if ( ! defined( 'AI1EC_VERSION' ) ) {
53
+ define( 'AI1EC_VERSION', '2.5.33' );
54
  }
55
 
56
  // ================
app/model/event/instance.php CHANGED
@@ -1,5 +1,7 @@
1
  <?php
2
 
 
 
3
  /**
4
  * Event instance management model.
5
  *
@@ -126,19 +128,33 @@ class Ai1ec_Event_Instance extends Ai1ec_Base {
126
  );
127
  unset($exception_rules['EXDATE']);
128
  if ( ! empty( $exception_rules ) ) {
129
- $exception_rules = iCalUtilityFunctions::_setRexrule(
130
  $exception_rules
131
  );
132
  $result = array();
133
  date_default_timezone_set( $timezone );
134
  // The first array is the result and it is passed by reference
135
- iCalUtilityFunctions::_recur2date(
136
  $exclude_dates,
137
  $exception_rules,
138
  $wdate,
139
  $startdate,
140
  $enddate
141
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  date_default_timezone_set( $restore_timezone );
143
  }
144
  }
@@ -147,16 +163,30 @@ class Ai1ec_Event_Instance extends Ai1ec_Base {
147
  $event->get( 'recurrence_rules' )
148
  );
149
 
150
- $recurrence_rules = iCalUtilityFunctions::_setRexrule( $recurrence_rules );
151
  if ( $recurrence_rules ) {
152
  date_default_timezone_set( $timezone );
153
- iCalUtilityFunctions::_recur2date(
154
  $recurrence_dates,
155
  $recurrence_rules,
156
  $wdate,
157
  $startdate,
158
  $enddate
159
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  date_default_timezone_set( $restore_timezone );
161
  }
162
 
@@ -169,8 +199,8 @@ class Ai1ec_Event_Instance extends Ai1ec_Base {
169
  // The arrays are in the form timestamp => true so an isset call is what we need
170
  if ( ! isset( $exclude_dates[$timestamp] ) ) {
171
  $event_instance['start'] = $timestamp;
172
- $event_instance['end'] = $timestamp + $duration;
173
- $events[$timestamp] = $event_instance;
174
  }
175
  }
176
 
1
  <?php
2
 
3
+ use kigkonsult\iCalcreator\util\utilRecur;
4
+
5
  /**
6
  * Event instance management model.
7
  *
128
  );
129
  unset($exception_rules['EXDATE']);
130
  if ( ! empty( $exception_rules ) ) {
131
+ $exception_rules = utilRecur::setRexrule(
132
  $exception_rules
133
  );
134
  $result = array();
135
  date_default_timezone_set( $timezone );
136
  // The first array is the result and it is passed by reference
137
+ utilRecur::recur2date(
138
  $exclude_dates,
139
  $exception_rules,
140
  $wdate,
141
  $startdate,
142
  $enddate
143
  );
144
+ // Get start date time
145
+ $startHour = isset( $startdate['hour'] ) ? sprintf( "%02d", $startdate['hour'] ) : '00';
146
+ $startMinute = isset( $startdate['min'] ) ? sprintf( "%02d", $startdate['min'] ) : '00';
147
+ $startSecond = isset( $startdate['sec'] ) ? sprintf( "%02d", $startdate['sec'] ) : '00';
148
+ $startTime = $startHour . $startMinute . $startSecond;
149
+ // Convert to timestamp
150
+ if ( is_array( $exclude_dates ) ) {
151
+ $new_exclude_dates = [];
152
+ foreach ( $exclude_dates as $key => $value ) {
153
+ $timestamp = strtotime( $key . 'T' . $startTime );
154
+ $new_exclude_dates[$timestamp] = $value;
155
+ }
156
+ $exclude_dates = $new_exclude_dates;
157
+ }
158
  date_default_timezone_set( $restore_timezone );
159
  }
160
  }
163
  $event->get( 'recurrence_rules' )
164
  );
165
 
166
+ $recurrence_rules = utilRecur::setRexrule( $recurrence_rules );
167
  if ( $recurrence_rules ) {
168
  date_default_timezone_set( $timezone );
169
+ utilRecur::recur2date(
170
  $recurrence_dates,
171
  $recurrence_rules,
172
  $wdate,
173
  $startdate,
174
  $enddate
175
  );
176
+ // Get start date time
177
+ $startHour = isset( $startdate['hour'] ) ? sprintf( "%02d", $startdate['hour'] ) : '00';
178
+ $startMinute = isset( $startdate['min'] ) ? sprintf( "%02d", $startdate['min'] ) : '00';
179
+ $startSecond = isset( $startdate['sec'] ) ? sprintf( "%02d", $startdate['sec'] ) : '00';
180
+ $startTime = $startHour . $startMinute . $startSecond;
181
+ // Convert to timestamp
182
+ if ( is_array( $recurrence_dates ) ) {
183
+ $new_recurrence_dates = [];
184
+ foreach ( $recurrence_dates as $key => $value ) {
185
+ $timestamp = strtotime( $key . 'T' . $startTime );
186
+ $new_recurrence_dates[$timestamp] = $value;
187
+ }
188
+ $recurrence_dates = $new_recurrence_dates;
189
+ }
190
  date_default_timezone_set( $restore_timezone );
191
  }
192
 
199
  // The arrays are in the form timestamp => true so an isset call is what we need
200
  if ( ! isset( $exclude_dates[$timestamp] ) ) {
201
  $event_instance['start'] = $timestamp;
202
+ $event_instance['end'] = $timestamp + $duration;
203
+ $events[$timestamp] = $event_instance;
204
  }
205
  }
206
 
app/model/search.php CHANGED
@@ -758,7 +758,8 @@ class Ai1ec_Event_Search extends Ai1ec_Base {
758
  // Query the correct post status
759
  if (
760
  current_user_can( 'administrator' ) ||
761
- current_user_can( 'editor' )
 
762
  ) {
763
  // User has privilege of seeing all published and private
764
  $post_status_where = 'AND post_status IN ( %s, %s ) ';
758
  // Query the correct post status
759
  if (
760
  current_user_can( 'administrator' ) ||
761
+ current_user_can( 'editor' ) ||
762
+ current_user_can( 'read_private_ai1ec_events' )
763
  ) {
764
  // User has privilege of seeing all published and private
765
  $post_status_where = 'AND post_status IN ( %s, %s ) ';
app/model/settings-view.php CHANGED
@@ -95,6 +95,7 @@ class Ai1ec_Settings_View extends Ai1ec_App {
95
  }
96
  if (
97
  isset( $enabled_views[$view] ) &&
 
98
  $enabled_views[$view]['enabled' . ( wp_is_mobile() ? '_mobile' : '' ) ]
99
  ) {
100
  return $view;
95
  }
96
  if (
97
  isset( $enabled_views[$view] ) &&
98
+ isset( $enabled_views[$view]['enabled' . ( wp_is_mobile() ? '_mobile' : '' ) ] ) &&
99
  $enabled_views[$view]['enabled' . ( wp_is_mobile() ? '_mobile' : '' ) ]
100
  ) {
101
  return $view;
language/all-in-one-event-calendar-cs_CZ.mo CHANGED
Binary file
language/all-in-one-event-calendar-cs_CZ.po CHANGED
@@ -2,7 +2,7 @@
2
  # This file is distributed under the same license as the 2.3 package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2017-09-13 13:39:11+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -16,11 +16,11 @@ msgstr ""
16
 
17
  #: app/view/admin/settings.php:158
18
  msgid "Twitter"
19
- msgstr ""
20
 
21
  #: public/admin/box_support.php:44
22
  msgid "More Features"
23
- msgstr ""
24
 
25
  #: app/view/admin/add-new-event.php:35
26
  msgid "Empower your calendar, build your community"
@@ -32,7 +32,7 @@ msgstr ""
32
 
33
  #: app/view/admin/samples.php:26 app/view/admin/samples.php:27
34
  msgid "Samples"
35
- msgstr ""
36
 
37
  #: app/model/settings.php:893
38
  msgid ""
2
  # This file is distributed under the same license as the 2.3 package.
3
  msgid ""
4
  msgstr ""
5
+ "PO-Revision-Date: 2018-12-04 20:10:41+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
16
 
17
  #: app/view/admin/settings.php:158
18
  msgid "Twitter"
19
+ msgstr "Twitter"
20
 
21
  #: public/admin/box_support.php:44
22
  msgid "More Features"
23
+ msgstr "Více funkcí"
24
 
25
  #: app/view/admin/add-new-event.php:35
26
  msgid "Empower your calendar, build your community"
32
 
33
  #: app/view/admin/samples.php:26 app/view/admin/samples.php:27
34
  msgid "Samples"
35
+ msgstr "Příklady"
36
 
37
  #: app/model/settings.php:893
38
  msgid ""
language/all-in-one-event-calendar-de_DE.mo CHANGED
Binary file
language/all-in-one-event-calendar-de_DE.po CHANGED
@@ -2,7 +2,7 @@
2
  # This file is distributed under the same license as the 2.3 package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2017-10-25 17:12:17+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -32,7 +32,7 @@ msgstr ""
32
 
33
  #: app/view/admin/samples.php:26 app/view/admin/samples.php:27
34
  msgid "Samples"
35
- msgstr ""
36
 
37
  #: app/model/settings.php:893
38
  msgid ""
2
  # This file is distributed under the same license as the 2.3 package.
3
  msgid ""
4
  msgstr ""
5
+ "PO-Revision-Date: 2018-12-04 20:11:08+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
32
 
33
  #: app/view/admin/samples.php:26 app/view/admin/samples.php:27
34
  msgid "Samples"
35
+ msgstr "Beispiele"
36
 
37
  #: app/model/settings.php:893
38
  msgid ""
language/all-in-one-event-calendar-nl_NL.mo CHANGED
Binary file
language/all-in-one-event-calendar-nl_NL.po CHANGED
@@ -2,7 +2,7 @@
2
  # This file is distributed under the same license as the 2.3 package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2017-10-25 17:12:17+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -72,7 +72,7 @@ msgstr ""
72
 
73
  #: public/admin/plugins/ics/import_feed.php:8
74
  msgid "unlimited"
75
- msgstr ""
76
 
77
  #: public/admin/plugins/ics/import_feed.php:45
78
  msgid ""
@@ -82,7 +82,7 @@ msgstr ""
82
 
83
  #: app/view/admin/settings.php:214
84
  msgid "Calendar Type:"
85
- msgstr ""
86
 
87
  #: app/view/admin/settings.php:216
88
  msgid "Tourism"
2
  # This file is distributed under the same license as the 2.3 package.
3
  msgid ""
4
  msgstr ""
5
+ "PO-Revision-Date: 2018-12-04 20:10:59+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
72
 
73
  #: public/admin/plugins/ics/import_feed.php:8
74
  msgid "unlimited"
75
+ msgstr "Ongelimiteerd"
76
 
77
  #: public/admin/plugins/ics/import_feed.php:45
78
  msgid ""
82
 
83
  #: app/view/admin/settings.php:214
84
  msgid "Calendar Type:"
85
+ msgstr "Kalender Type:"
86
 
87
  #: app/view/admin/settings.php:216
88
  msgid "Tourism"
language/all-in-one-event-calendar.mo CHANGED
Binary file
language/all-in-one-event-calendar.po CHANGED
@@ -2,13 +2,13 @@
2
  # This file is distributed under the same license as the All-in-One Event Calendar by Time.ly package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: All-in-One Event Calendar by Time.ly 2.5.32\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
- "POT-Creation-Date: 2018-06-26 20:47:08+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2018-06-26 20:47+0000\n"
12
  "Last-Translator: Timely <support@time.ly>\n"
13
  "Language-Team:\n"
14
 
@@ -2645,7 +2645,7 @@ msgstr ""
2645
  "page. Do not attempt to embed the calendar via shortcode in a page that "
2646
  "already displays the calendar."
2647
 
2648
- #: lib/import-export/ics.php:881
2649
  msgid "Tickets: "
2650
  msgstr "Tickets: "
2651
 
2
  # This file is distributed under the same license as the All-in-One Event Calendar by Time.ly package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: All-in-One Event Calendar by Time.ly 2.5.33\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
+ "POT-Creation-Date: 2018-12-07 21:08:19+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2018-12-07 21:08+0000\n"
12
  "Last-Translator: Timely <support@time.ly>\n"
13
  "Language-Team:\n"
14
 
2645
  "page. Do not attempt to embed the calendar via shortcode in a page that "
2646
  "already displays the calendar."
2647
 
2648
+ #: lib/import-export/ics.php:884
2649
  msgid "Tickets: "
2650
  msgstr "Tickets: "
2651
 
language/all-in-one-event-calendar.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the All-in-One Event Calendar by Time.ly package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: All-in-One Event Calendar by Time.ly 2.5.32\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
- "POT-Creation-Date: 2018-06-26 20:47:08+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -2397,7 +2397,7 @@ msgid ""
2397
  "already displays the calendar."
2398
  msgstr ""
2399
 
2400
- #: lib/import-export/ics.php:881
2401
  msgid "Tickets: "
2402
  msgstr ""
2403
 
2
  # This file is distributed under the same license as the All-in-One Event Calendar by Time.ly package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: All-in-One Event Calendar by Time.ly 2.5.33\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
+ "POT-Creation-Date: 2018-12-07 21:08:19+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
2397
  "already displays the calendar."
2398
  msgstr ""
2399
 
2400
+ #: lib/import-export/ics.php:884
2401
  msgid "Tickets: "
2402
  msgstr ""
2403
 
lib/bootstrap/loader-map.php CHANGED
@@ -3067,12 +3067,6 @@
3067
  'c' => '__TwigTemplate_a2d63fbda218850f7e089e33254a2a7e597c13d99697a035b078e57b486b58fd',
3068
  'i' => 'g',
3069
  ),
3070
- '__TwigTemplate_a370ab0617601b3ce5e7887582c71bde1106963956baa13cd4fc1bffe5a0a57f' =>
3071
- array (
3072
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'a3' . DIRECTORY_SEPARATOR . '70' . DIRECTORY_SEPARATOR . 'ab0617601b3ce5e7887582c71bde1106963956baa13cd4fc1bffe5a0a57f.php',
3073
- 'c' => '__TwigTemplate_a370ab0617601b3ce5e7887582c71bde1106963956baa13cd4fc1bffe5a0a57f',
3074
- 'i' => 'g',
3075
- ),
3076
  '__TwigTemplate_a54faca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a' =>
3077
  array (
3078
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'a5' . DIRECTORY_SEPARATOR . '4f' . DIRECTORY_SEPARATOR . 'aca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a.php',
@@ -3127,12 +3121,6 @@
3127
  'c' => '__TwigTemplate_b69bc1a2e974a2cc888cbb54b361d86981c0c2cc33fd8a93ba2368fb485deacb',
3128
  'i' => 'g',
3129
  ),
3130
- '__TwigTemplate_b7740cbe0a1d12ad983e03d0c9bb369ea941ba9f941c5cf86a696dff0bf8fbca' =>
3131
- array (
3132
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'b7' . DIRECTORY_SEPARATOR . '74' . DIRECTORY_SEPARATOR . '0cbe0a1d12ad983e03d0c9bb369ea941ba9f941c5cf86a696dff0bf8fbca.php',
3133
- 'c' => '__TwigTemplate_b7740cbe0a1d12ad983e03d0c9bb369ea941ba9f941c5cf86a696dff0bf8fbca',
3134
- 'i' => 'g',
3135
- ),
3136
  '__TwigTemplate_c1804f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c' =>
3137
  array (
3138
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'c1' . DIRECTORY_SEPARATOR . '80' . DIRECTORY_SEPARATOR . '4f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c.php',
@@ -3386,12 +3374,6 @@
3386
  'i' => 'g',
3387
  'r' => 'y',
3388
  ),
3389
- 'calendarComponent' =>
3390
- array (
3391
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
3392
- 'c' => 'calendarComponent',
3393
- 'i' => 'g',
3394
- ),
3395
  'captcha.provider' =>
3396
  array (
3397
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'captcha' . DIRECTORY_SEPARATOR . 'provider.php',
@@ -4210,18 +4192,6 @@
4210
  'c' => 'iCalcnv',
4211
  'i' => 'g',
4212
  ),
4213
- 'iCal.iCalcreator-2.20.iCalcreator.class' =>
4214
- array (
4215
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
4216
- 'c' => 'iCalUtilityFunctions',
4217
- 'i' => 'g',
4218
- ),
4219
- 'iCalUtilityFunctions' =>
4220
- array (
4221
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
4222
- 'c' => 'iCalUtilityFunctions',
4223
- 'i' => 'g',
4224
- ),
4225
  'iCalcnv' =>
4226
  array (
4227
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcnv-3.0' . DIRECTORY_SEPARATOR . 'iCalcnv.class.php',
@@ -6030,12 +6000,6 @@
6030
  'c' => '__TwigTemplate_a2d63fbda218850f7e089e33254a2a7e597c13d99697a035b078e57b486b58fd',
6031
  'i' => 'g',
6032
  ),
6033
- 'twig.a3.70.ab0617601b3ce5e7887582c71bde1106963956baa13cd4fc1bffe5a0a57f' =>
6034
- array (
6035
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'a3' . DIRECTORY_SEPARATOR . '70' . DIRECTORY_SEPARATOR . 'ab0617601b3ce5e7887582c71bde1106963956baa13cd4fc1bffe5a0a57f.php',
6036
- 'c' => '__TwigTemplate_a370ab0617601b3ce5e7887582c71bde1106963956baa13cd4fc1bffe5a0a57f',
6037
- 'i' => 'g',
6038
- ),
6039
  'twig.a5.4f.aca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a' =>
6040
  array (
6041
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'a5' . DIRECTORY_SEPARATOR . '4f' . DIRECTORY_SEPARATOR . 'aca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a.php',
@@ -6096,12 +6060,6 @@
6096
  'c' => '__TwigTemplate_b69bc1a2e974a2cc888cbb54b361d86981c0c2cc33fd8a93ba2368fb485deacb',
6097
  'i' => 'g',
6098
  ),
6099
- 'twig.b7.74.0cbe0a1d12ad983e03d0c9bb369ea941ba9f941c5cf86a696dff0bf8fbca' =>
6100
- array (
6101
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'b7' . DIRECTORY_SEPARATOR . '74' . DIRECTORY_SEPARATOR . '0cbe0a1d12ad983e03d0c9bb369ea941ba9f941c5cf86a696dff0bf8fbca.php',
6102
- 'c' => '__TwigTemplate_b7740cbe0a1d12ad983e03d0c9bb369ea941ba9f941c5cf86a696dff0bf8fbca',
6103
- 'i' => 'g',
6104
- ),
6105
  'twig.c1.80.4f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c' =>
6106
  array (
6107
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'c1' . DIRECTORY_SEPARATOR . '80' . DIRECTORY_SEPARATOR . '4f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c.php',
@@ -6230,12 +6188,6 @@
6230
  'i' => 'g',
6231
  'r' => 'y',
6232
  ),
6233
- 'valarm' =>
6234
- array (
6235
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
6236
- 'c' => 'valarm',
6237
- 'i' => 'g',
6238
- ),
6239
  'validator.abstract' =>
6240
  array (
6241
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'validator' . DIRECTORY_SEPARATOR . 'abstract.php',
@@ -6270,24 +6222,6 @@
6270
  'i' => 'n',
6271
  'r' => 'y',
6272
  ),
6273
- 'vcalendar' =>
6274
- array (
6275
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
6276
- 'c' => 'vcalendar',
6277
- 'i' => 'n',
6278
- ),
6279
- 'vevent' =>
6280
- array (
6281
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
6282
- 'c' => 'vevent',
6283
- 'i' => 'g',
6284
- ),
6285
- 'vfreebusy' =>
6286
- array (
6287
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
6288
- 'c' => 'vfreebusy',
6289
- 'i' => 'g',
6290
- ),
6291
  'view.admin.abstract' =>
6292
  array (
6293
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . 'admin' . DIRECTORY_SEPARATOR . 'abstract.php',
@@ -6543,24 +6477,6 @@
6543
  'i' => 'g',
6544
  'r' => 'y',
6545
  ),
6546
- 'vjournal' =>
6547
- array (
6548
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
6549
- 'c' => 'vjournal',
6550
- 'i' => 'g',
6551
- ),
6552
- 'vtimezone' =>
6553
- array (
6554
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
6555
- 'c' => 'vtimezone',
6556
- 'i' => 'g',
6557
- ),
6558
- 'vtodo' =>
6559
- array (
6560
- 'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcreator-2.20' . DIRECTORY_SEPARATOR . 'iCalcreator.class.php',
6561
- 'c' => 'vtodo',
6562
- 'i' => 'g',
6563
- ),
6564
  'xml.builder' =>
6565
  array (
6566
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'builder.php',
3067
  'c' => '__TwigTemplate_a2d63fbda218850f7e089e33254a2a7e597c13d99697a035b078e57b486b58fd',
3068
  'i' => 'g',
3069
  ),
 
 
 
 
 
 
3070
  '__TwigTemplate_a54faca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a' =>
3071
  array (
3072
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'a5' . DIRECTORY_SEPARATOR . '4f' . DIRECTORY_SEPARATOR . 'aca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a.php',
3121
  'c' => '__TwigTemplate_b69bc1a2e974a2cc888cbb54b361d86981c0c2cc33fd8a93ba2368fb485deacb',
3122
  'i' => 'g',
3123
  ),
 
 
 
 
 
 
3124
  '__TwigTemplate_c1804f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c' =>
3125
  array (
3126
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'c1' . DIRECTORY_SEPARATOR . '80' . DIRECTORY_SEPARATOR . '4f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c.php',
3374
  'i' => 'g',
3375
  'r' => 'y',
3376
  ),
 
 
 
 
 
 
3377
  'captcha.provider' =>
3378
  array (
3379
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'captcha' . DIRECTORY_SEPARATOR . 'provider.php',
4192
  'c' => 'iCalcnv',
4193
  'i' => 'g',
4194
  ),
 
 
 
 
 
 
 
 
 
 
 
 
4195
  'iCalcnv' =>
4196
  array (
4197
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'iCal' . DIRECTORY_SEPARATOR . 'iCalcnv-3.0' . DIRECTORY_SEPARATOR . 'iCalcnv.class.php',
6000
  'c' => '__TwigTemplate_a2d63fbda218850f7e089e33254a2a7e597c13d99697a035b078e57b486b58fd',
6001
  'i' => 'g',
6002
  ),
 
 
 
 
 
 
6003
  'twig.a5.4f.aca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a' =>
6004
  array (
6005
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'a5' . DIRECTORY_SEPARATOR . '4f' . DIRECTORY_SEPARATOR . 'aca929c567a44d5e4e2e7cf06d45c14508bd3d07f5bdfb60a7ddce3ec07a.php',
6060
  'c' => '__TwigTemplate_b69bc1a2e974a2cc888cbb54b361d86981c0c2cc33fd8a93ba2368fb485deacb',
6061
  'i' => 'g',
6062
  ),
 
 
 
 
 
 
6063
  'twig.c1.80.4f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c' =>
6064
  array (
6065
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'twig' . DIRECTORY_SEPARATOR . 'c1' . DIRECTORY_SEPARATOR . '80' . DIRECTORY_SEPARATOR . '4f545c5b33b8114cc21fe6cb5c59952fa8c7d680d237c3ca4d3f63b96c1c.php',
6188
  'i' => 'g',
6189
  'r' => 'y',
6190
  ),
 
 
 
 
 
 
6191
  'validator.abstract' =>
6192
  array (
6193
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'validator' . DIRECTORY_SEPARATOR . 'abstract.php',
6222
  'i' => 'n',
6223
  'r' => 'y',
6224
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6225
  'view.admin.abstract' =>
6226
  array (
6227
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . 'admin' . DIRECTORY_SEPARATOR . 'abstract.php',
6477
  'i' => 'g',
6478
  'r' => 'y',
6479
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6480
  'xml.builder' =>
6481
  array (
6482
  'f' => AI1EC_PATH . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'builder.php',
lib/bootstrap/loader.php CHANGED
@@ -261,7 +261,7 @@ class Ai1ec_Loader {
261
  $class_list = array();
262
  $directory = opendir( $path );
263
  while ( false !== ( $entry = readdir( $directory ) ) ) {
264
- if ( '.' === $entry{0} || 'tests' === $entry ) {
265
  continue;
266
  }
267
  $local_path = $path . DIRECTORY_SEPARATOR . $entry;
261
  $class_list = array();
262
  $directory = opendir( $path );
263
  while ( false !== ( $entry = readdir( $directory ) ) ) {
264
+ if ( is_null( $entry ) || '.' === $entry{0} || 'tests' === $entry || strpos( strtolower( $entry ), 'icalcreator' ) !== false ) {
265
  continue;
266
  }
267
  $local_path = $path . DIRECTORY_SEPARATOR . $entry;
lib/iCal/iCalcnv-3.0/iCalcnv.class.php CHANGED
@@ -1,4 +1,7 @@
1
  <?php
 
 
 
2
  /**
3
  * iCalcnv ver 3.0
4
  * copyright (c) 2011 Kjell-Inge Gustafsson kigkonsult
1
  <?php
2
+
3
+ use kigkonsult\iCalcreator\vcalendar;
4
+
5
  /**
6
  * iCalcnv ver 3.0
7
  * copyright (c) 2011 Kjell-Inge Gustafsson kigkonsult
lib/import-export/api-ics.php CHANGED
@@ -246,7 +246,7 @@ class Ai1ec_Api_Ics_Import_Export_Engine
246
  // = Latitude & longitude =
247
  // ========================
248
  $latitude = $longitude = NULL;
249
- $geo_tag = $e->geo;
250
  if ( ! empty( $geo_tag ) && false !== strpos( $geo_tag, ',' ) ) {
251
  list( $latitude, $longitude ) = explode( ',', $geo_tag, 2 );
252
  $latitude = (float)$latitude;
246
  // = Latitude & longitude =
247
  // ========================
248
  $latitude = $longitude = NULL;
249
+ $geo_tag = isset( $e->geo ) ? $e->geo : null;
250
  if ( ! empty( $geo_tag ) && false !== strpos( $geo_tag, ',' ) ) {
251
  list( $latitude, $longitude ) = explode( ',', $geo_tag, 2 );
252
  $latitude = (float)$latitude;
lib/import-export/ics.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
 
 
 
 
3
  /**
4
  * The ics import/export engine.
5
  *
@@ -56,7 +59,7 @@ class Ai1ec_Ics_Import_Export_Engine
56
  if ( $tz ) {
57
  $c->setProperty( 'X-WR-TIMEZONE', $tz );
58
  $tz_xprops = array( 'X-LIC-LOCATION' => $tz );
59
- iCalUtilityFunctions::createTimezone( $c, $tz, $tz_xprops );
60
  }
61
 
62
  $this->_taxonomy_model = $this->_registry->get( 'model.taxonomy' );
@@ -797,7 +800,7 @@ class Ai1ec_Ics_Import_Export_Engine
797
  $tz = $this->_registry->get( 'date.timezone' )
798
  ->get_default_timezone();
799
 
800
- $e = & $calendar->newComponent( 'vevent' );
801
  $uid = '';
802
  if ( $event->get( 'ical_uid' ) ) {
803
  $uid = addcslashes( $event->get( 'ical_uid' ), "\\;,\n" );
1
  <?php
2
 
3
+ use kigkonsult\iCalcreator\vcalendar;
4
+ use kigkonsult\iCalcreator\timezoneHandler;
5
+
6
  /**
7
  * The ics import/export engine.
8
  *
59
  if ( $tz ) {
60
  $c->setProperty( 'X-WR-TIMEZONE', $tz );
61
  $tz_xprops = array( 'X-LIC-LOCATION' => $tz );
62
+ timezoneHandler::createTimezone( $c, $tz, $tz_xprops );
63
  }
64
 
65
  $this->_taxonomy_model = $this->_registry->get( 'model.taxonomy' );
800
  $tz = $this->_registry->get( 'date.timezone' )
801
  ->get_default_timezone();
802
 
803
+ $e = $calendar->newComponent( 'vevent' );
804
  $uid = '';
805
  if ( $event->get( 'ical_uid' ) ) {
806
  $uid = addcslashes( $event->get( 'ical_uid' ), "\\;,\n" );
readme.txt CHANGED
@@ -2,8 +2,9 @@
2
  Contributors: uchu, calvinyeh, raquelleira, renatotbueno, domanb, elirenato, hubrik, vtowel, yani.iliev, nicolapeluchetti, jbutkus, lpawlik, bangelov
3
  Tags: calendar, event, ical, feed, ics, icalendar, sync, aggregator, google, venue, calendar widget, events widget
4
  Requires at least: 3.5
5
- Tested up to: 4.9.7
6
- Stable tag: 2.5.32
 
7
  License: GNU General Public License, version 3 (GPL-3.0)
8
 
9
  An events calendar system with multiple views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
@@ -123,6 +124,9 @@ You can help translate by going to [https://translate.time.ly](https://translate
123
 
124
  == Changelog ==
125
 
 
 
 
126
  = Version 2.5.32 =
127
  * Fixed: Subscribe dropdown wasn't working properly.
128
 
2
  Contributors: uchu, calvinyeh, raquelleira, renatotbueno, domanb, elirenato, hubrik, vtowel, yani.iliev, nicolapeluchetti, jbutkus, lpawlik, bangelov
3
  Tags: calendar, event, ical, feed, ics, icalendar, sync, aggregator, google, venue, calendar widget, events widget
4
  Requires at least: 3.5
5
+ Tested up to: 5.0.1
6
+ Stable tag: 2.5.33
7
+ Requires PHP: 5.4
8
  License: GNU General Public License, version 3 (GPL-3.0)
9
 
10
  An events calendar system with multiple views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
124
 
125
  == Changelog ==
126
 
127
+ = Version 2.5.33 =
128
+ * Fixed: iCalcreator library has been updated to the latest version, fixing problems with PHP 7.2.
129
+
130
  = Version 2.5.32 =
131
  * Fixed: Subscribe dropdown wasn't working properly.
132