All-in-One Event Calendar - Version 2.0.11

Version Description

Download this release

Release Info

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

Code changes from version 2.0.10 to 2.0.11

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: http://time.ly/
8
- * Version: 2.0.10
9
  * Text Domain: all-in-one-event-calendar
10
  * Domain Path: /language
11
  */
@@ -78,11 +78,6 @@ require $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'app' .
78
  DIRECTORY_SEPARATOR . 'controller' . DIRECTORY_SEPARATOR . 'extension-license.php';
79
 
80
  $ai1ec_loader = new Ai1ec_Loader( $ai1ec_base_dir );
81
-
82
- $ai1ec_loader->register_map(
83
- $ai1ec_base_dir . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR .
84
- 'composer' . DIRECTORY_SEPARATOR . 'autoload_classmap.php'
85
- );
86
  @ini_set( 'unserialize_callback_func', 'spl_autoload_call' );
87
  spl_autoload_register( array( $ai1ec_loader, 'load' ) );
88
 
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: http://time.ly/
8
+ * Version: 2.0.11
9
  * Text Domain: all-in-one-event-calendar
10
  * Domain Path: /language
11
  */
78
  DIRECTORY_SEPARATOR . 'controller' . DIRECTORY_SEPARATOR . 'extension-license.php';
79
 
80
  $ai1ec_loader = new Ai1ec_Loader( $ai1ec_base_dir );
 
 
 
 
 
81
  @ini_set( 'unserialize_callback_func', 'spl_autoload_call' );
82
  spl_autoload_register( array( $ai1ec_loader, 'load' ) );
83
 
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.0.10' );
54
  }
55
 
56
  // ================
50
  // = Plugin Version =
51
  // ==================
52
  if ( ! defined( 'AI1EC_VERSION' ) ) {
53
+ define( 'AI1EC_VERSION', '2.0.11' );
54
  }
55
 
56
  // ================
app/model/search.php CHANGED
@@ -387,18 +387,30 @@ class Ai1ec_Event_Search extends Ai1ec_Base {
387
  }
388
 
389
  /**
390
- * Get event by UID. Uid must be unique.
391
- *
392
- * @param string $uid
 
 
 
 
 
393
  */
394
  public function get_matching_event_by_uid_and_url( $uid, $url ) {
 
 
 
395
  $dbi = $this->_registry->get( 'dbi.dbi' );
396
  $table_name = $dbi->get_table_name( 'ai1ec_events' );
397
- $query = 'SELECT `post_id` FROM ' . $table_name . '
398
- WHERE
399
- ical_uid = %s AND
400
- ical_feed_url = %s';
401
- return $dbi->get_var( $dbi->prepare( $query, array( $uid, $url ) ) );
 
 
 
 
402
  }
403
 
404
  /**
387
  }
388
 
389
  /**
390
+ * Get event by UID. UID must be unique.
391
+ *
392
+ * NOTICE: deletes events with that UID if they have different URLs.
393
+ *
394
+ * @param string $uid UID from feed.
395
+ * @param string $uid Feed URL.
396
+ *
397
+ * @return int|null Matching Event ID or NULL if none found.
398
  */
399
  public function get_matching_event_by_uid_and_url( $uid, $url ) {
400
+ if ( ! isset( $uid{1} ) ) {
401
+ return null;
402
+ }
403
  $dbi = $this->_registry->get( 'dbi.dbi' );
404
  $table_name = $dbi->get_table_name( 'ai1ec_events' );
405
+ $argv = array( $uid, $url );
406
+ // fix issue where invalid feed URLs were assigned
407
+ $delete = 'DELETE FROM `'. $table_name . '` WHERE `ical_uid` = %s' .
408
+ ' AND `ical_feed_url` != %s';
409
+ $dbi->query( $dbi->prepare( $delete, $argv ) );
410
+ // retrieve actual feed ID if any
411
+ $select = 'SELECT `post_id` FROM `' . $table_name .
412
+ '` WHERE `ical_uid` = %s';
413
+ return $dbi->get_var( $dbi->prepare( $select, $argv ) );
414
  }
415
 
416
  /**
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.0.10\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
- "POT-Creation-Date: 2014-06-03 16:26:30+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: 2014-06-03 19:26+0300\n"
12
  "Last-Translator: Timely <support@time.ly>\n"
13
  "Language-Team:\n"
14
 
@@ -2458,9 +2458,9 @@ msgstr "Today background"
2458
  msgid "All-in-One Event Calendar by Time.ly"
2459
  msgstr "All-in-One Event Calendar by Time.ly"
2460
 
2461
- #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.10) #-#-#-#-#
2462
  #. Plugin URI of the plugin/theme
2463
- #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.10) #-#-#-#-#
2464
  #. Author URI of the plugin/theme
2465
  msgid "http://time.ly/"
2466
  msgstr "http://time.ly/"
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.0.11\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
+ "POT-Creation-Date: 2014-06-04 16:03:25+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: 2014-06-04 19:03+0300\n"
12
  "Last-Translator: Timely <support@time.ly>\n"
13
  "Language-Team:\n"
14
 
2458
  msgid "All-in-One Event Calendar by Time.ly"
2459
  msgstr "All-in-One Event Calendar by Time.ly"
2460
 
2461
+ #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.11) #-#-#-#-#
2462
  #. Plugin URI of the plugin/theme
2463
+ #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.11) #-#-#-#-#
2464
  #. Author URI of the plugin/theme
2465
  msgid "http://time.ly/"
2466
  msgstr "http://time.ly/"
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.0.10\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
- "POT-Creation-Date: 2014-06-03 16:26:30+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -2313,9 +2313,9 @@ msgstr ""
2313
  msgid "All-in-One Event Calendar by Time.ly"
2314
  msgstr ""
2315
 
2316
- #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.10) #-#-#-#-#
2317
  #. Plugin URI of the plugin/theme
2318
- #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.10) #-#-#-#-#
2319
  #. Author URI of the plugin/theme
2320
  msgid "http://time.ly/"
2321
  msgstr ""
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.0.11\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
7
+ "POT-Creation-Date: 2014-06-04 16:03:25+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
2313
  msgid "All-in-One Event Calendar by Time.ly"
2314
  msgstr ""
2315
 
2316
+ #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.11) #-#-#-#-#
2317
  #. Plugin URI of the plugin/theme
2318
+ #. #-#-#-#-# all-in-one-event-calendar.pot (All-in-One Event Calendar by Time.ly 2.0.11) #-#-#-#-#
2319
  #. Author URI of the plugin/theme
2320
  msgid "http://time.ly/"
2321
  msgstr ""
readme.txt CHANGED
@@ -5,7 +5,7 @@ calendar, ical, iCalendar, all-in-one, events sync, events widget,
5
  calendar widget
6
  Requires WorPress at least: 3.5
7
  Tested up to: 3.9.1
8
- Stable tag: 2.0.10
9
  License: GNU General Public License, version 3 (GPL-3.0)
10
 
11
  A calendar system with many views, upcoming events widget, color-coded
@@ -172,6 +172,10 @@ http://vimeo.com/55904173
172
 
173
  == Changelog ==
174
 
 
 
 
 
175
  = Version 2.0.10 =
176
  * Improved "Subscribe" to calendar button;
177
  * Modified subscription options, removing some elements from content
5
  calendar widget
6
  Requires WorPress at least: 3.5
7
  Tested up to: 3.9.1
8
+ Stable tag: 2.0.11
9
  License: GNU General Public License, version 3 (GPL-3.0)
10
 
11
  A calendar system with many views, upcoming events widget, color-coded
172
 
173
  == Changelog ==
174
 
175
+ = Version 2.0.11 =
176
+ * Fixed issue where incorrectly recognized unique identifiers (UIDs)
177
+ from ICS feeds caused the creation of duplicate events.
178
+
179
  = Version 2.0.10 =
180
  * Improved "Subscribe" to calendar button;
181
  * Modified subscription options, removing some elements from content