My Calendar - Version 3.3.8

Version Description

  • Bug fix: Generated a duplicate location if event with location unselected location.
  • Bug fix: Setting an event's all day label text to blank should not be overridden by defaults.
  • Bug fix: Delete single event from front-end pointed to wrong destination.
  • Bug fix: Missing help text for copying events.
  • Change: Minor text change to empty location value.
  • Change: Clear list items in list view (CSS)
Download this release

Release Info

Developer joedolson
Plugin Icon 128x128 My Calendar
Version 3.3.8
Comparing to
See all releases

Code changes from version 3.3.7 to 3.3.8

css/admin.css CHANGED
@@ -553,6 +553,7 @@ h4.mc-title {
553
  .mc-main .list-event {
554
  border-top: 1px solid #d1d1d1;
555
  margin: .5em -10px;
 
556
  }
557
 
558
  .mc-main .mc-day .list-event {
553
  .mc-main .list-event {
554
  border-top: 1px solid #d1d1d1;
555
  margin: .5em -10px;
556
+ clear: both;
557
  }
558
 
559
  .mc-main .mc-day .list-event {
my-calendar-event-editor.php CHANGED
@@ -1565,7 +1565,7 @@ function mc_event_location_dropdown_block( $data ) {
1565
  $locs = mc_get_locations( 'select-locations' );
1566
  $fields .= '
1567
  <select name="location_preset" id="l_preset" aria-describedby="mc-current-location">
1568
- <option value="none">--</option>';
1569
  foreach ( $locs as $loc ) {
1570
  if ( is_object( $loc ) ) {
1571
  $base_loc = strip_tags( stripslashes( $loc->location_label ), mc_strip_tags() );
1565
  $locs = mc_get_locations( 'select-locations' );
1566
  $fields .= '
1567
  <select name="location_preset" id="l_preset" aria-describedby="mc-current-location">
1568
+ <option value="none">' . __( 'No location', 'my-calendar' ) . '</option>';
1569
  foreach ( $locs as $loc ) {
1570
  if ( is_object( $loc ) ) {
1571
  $base_loc = strip_tags( stripslashes( $loc->location_label ), mc_strip_tags() );
my-calendar-event-manager.php CHANGED
@@ -307,7 +307,6 @@ function my_calendar_manage() {
307
 
308
  <div class="inside">
309
  <?php
310
-
311
  if ( $grid ) {
312
  $calendar = array(
313
  'name' => 'admin',
307
 
308
  <div class="inside">
309
  <?php
 
310
  if ( $grid ) {
311
  $calendar = array(
312
  'name' => 'admin',
my-calendar-help.php CHANGED
@@ -284,8 +284,8 @@ function mc_get_help_text( $id ) {
284
  'text' => sprintf( __( 'My Calendar shortcodes use keywords to represent the navigation interfaces that can be added to the calendar. The keywords can be added either above or below the calendar, and will appear in the order listed. These keywords are shown in the <a href="%s">My Calendar Display settings</a>.', 'my-calendar' ), admin_url( 'admin.php?page=my-calendar-config#my-calendar-output' ) ),
285
  ),
286
  '4' => array(
287
- 'title' => __( 'Pending', 'my-calendar' ),
288
- 'text' => '',
289
  ),
290
  '5' => array(
291
  'title' => '',
284
  'text' => sprintf( __( 'My Calendar shortcodes use keywords to represent the navigation interfaces that can be added to the calendar. The keywords can be added either above or below the calendar, and will appear in the order listed. These keywords are shown in the <a href="%s">My Calendar Display settings</a>.', 'my-calendar' ), admin_url( 'admin.php?page=my-calendar-config#my-calendar-output' ) ),
285
  ),
286
  '4' => array(
287
+ 'title' => __( 'Copying Events', 'my-calendar' ),
288
+ 'text' => __( 'Copying an event (formerly described as creating an additional occurrence) sets up an additional copy of the event with a new set of dates and times. The new event is a completely separate event, associated with the source event via event groups. Marking a set of copied events as a "multi-day event" will cause them to be grouped as a single event in calendar views.', 'my-calendar' ),
289
  ),
290
  '5' => array(
291
  'title' => '',
my-calendar-locations.php CHANGED
@@ -698,7 +698,11 @@ function mc_location_controller( $fieldname, $selected, $context = 'location' )
698
  function mc_locations_fields( $has_data, $data, $context = 'location', $group_id = false ) {
699
  $return = '<div class="mc-locations" id="location-fields">';
700
  if ( current_user_can( 'mc_edit_locations' ) && 'event' === $context ) {
701
- $return .= '<p class="checkboxes"><input type="checkbox" value="on" name="mc_copy_location" id="mc_copy_location" checked="checked" /> <label for="mc_copy_location">' . __( 'Copy new location into the locations table', 'my-calendar' ) . '</label></p>';
 
 
 
 
702
  }
703
  if ( current_user_can( 'mc_edit_settings' ) && isset( $_GET['page'] ) && 'my-calendar-locations' === $_GET['page'] ) {
704
  $checked = ( isset( $_GET['location_id'] ) && (int) get_option( 'mc_default_location' ) === (int) $_GET['location_id'] ) ? 'checked="checked"' : '';
698
  function mc_locations_fields( $has_data, $data, $context = 'location', $group_id = false ) {
699
  $return = '<div class="mc-locations" id="location-fields">';
700
  if ( current_user_can( 'mc_edit_locations' ) && 'event' === $context ) {
701
+ $checked = ' checked="checked"';
702
+ if ( $has_data && ! empty( $data->event_location ) ) {
703
+ $checked = '';
704
+ }
705
+ $return .= '<p class="checkboxes"><input type="checkbox" value="on" name="mc_copy_location" id="mc_copy_location"' . $checked . ' /> <label for="mc_copy_location">' . __( 'Copy new location into the locations table', 'my-calendar' ) . '</label></p>';
706
  }
707
  if ( current_user_can( 'mc_edit_settings' ) && isset( $_GET['page'] ) && 'my-calendar-locations' === $_GET['page'] ) {
708
  $checked = ( isset( $_GET['location_id'] ) && (int) get_option( 'mc_default_location' ) === (int) $_GET['location_id'] ) ? 'checked="checked"' : '';
my-calendar-output.php CHANGED
@@ -698,7 +698,7 @@ function mc_edit_panel( $html, $event, $type, $time ) {
698
  $referer = urlencode( mc_get_current_url() );
699
  $edit = " <div class='mc_edit_links'><p>";
700
  if ( 'S' === $recur ) {
701
- $edit .= "<a href='" . admin_url( "admin.php?page=my-calendar&amp;mode=edit&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='edit'>" . __( 'Edit', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar&amp;mode=delete&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='delete'>" . __( 'Delete', 'my-calendar' ) . "</a>$groupedit";
702
  } else {
703
  $edit .= "<a href='" . admin_url( "admin.php?page=my-calendar&amp;mode=edit&amp;event_id=$event->event_id&amp;date=$mc_id&amp;ref=$referer" ) . "' class='edit'>" . __( 'Edit This Date', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar&amp;mode=edit&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='edit'>" . __( 'Edit All', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar-manage&amp;mode=delete&amp;event_id=$event->event_id&amp;date=$mc_id&amp;ref=$referer" ) . "' class='delete'>" . __( 'Delete This Date', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar-manage&amp;mode=delete&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='delete'>" . __( 'Delete All', 'my-calendar' ) . "</a>
704
  $groupedit";
698
  $referer = urlencode( mc_get_current_url() );
699
  $edit = " <div class='mc_edit_links'><p>";
700
  if ( 'S' === $recur ) {
701
+ $edit .= "<a href='" . admin_url( "admin.php?page=my-calendar&amp;mode=edit&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='edit'>" . __( 'Edit', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar-manage&amp;mode=delete&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='delete'>" . __( 'Delete', 'my-calendar' ) . "</a>$groupedit";
702
  } else {
703
  $edit .= "<a href='" . admin_url( "admin.php?page=my-calendar&amp;mode=edit&amp;event_id=$event->event_id&amp;date=$mc_id&amp;ref=$referer" ) . "' class='edit'>" . __( 'Edit This Date', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar&amp;mode=edit&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='edit'>" . __( 'Edit All', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar-manage&amp;mode=delete&amp;event_id=$event->event_id&amp;date=$mc_id&amp;ref=$referer" ) . "' class='delete'>" . __( 'Delete This Date', 'my-calendar' ) . "</a> &bull; <a href='" . admin_url( "admin.php?page=my-calendar-manage&amp;mode=delete&amp;event_id=$event->event_id&amp;ref=$referer" ) . "' class='delete'>" . __( 'Delete All', 'my-calendar' ) . "</a>
704
  $groupedit";
my-calendar-shortcodes.php CHANGED
@@ -343,7 +343,6 @@ function my_calendar_next( $atts ) {
343
  return my_calendar_events_next( $args['category'], $args['template'], $args['skip'], $args['site'] );
344
  }
345
 
346
-
347
  /**
348
  * Configure calendar view for primary calendar.
349
  */
343
  return my_calendar_events_next( $args['category'], $args['template'], $args['skip'], $args['site'] );
344
  }
345
 
 
346
  /**
347
  * Configure calendar view for primary calendar.
348
  */
my-calendar-templates.php CHANGED
@@ -525,12 +525,13 @@ function mc_create_tags( $event, $context = 'filters' ) {
525
  * @return string.
526
  */
527
  function mc_notime_label( $event ) {
 
 
528
  if ( is_object( $event ) && property_exists( $event, 'event_post' ) ) {
529
- $notime = get_post_meta( $event->event_post, '_event_time_label', true );
530
- } else {
531
- $notime = '';
532
  }
533
- $notime = ( '' !== $notime ) ? $notime : get_option( 'mc_notime_text' );
534
 
535
  return apply_filters( 'mc_notime_label', $notime, $event );
536
  }
525
  * @return string.
526
  */
527
  function mc_notime_label( $event ) {
528
+ $notime = '';
529
+ $default = get_option( 'mc_notime_text' );
530
  if ( is_object( $event ) && property_exists( $event, 'event_post' ) ) {
531
+ $notime = get_post_meta( $event->event_post, '_event_time_label', true );
532
+ $default = ( metadata_exists( 'post', $event->event_post, '_event_time_label' ) ) ? '' : $default;
 
533
  }
534
+ $notime = ( '' !== $notime ) ? $notime : $default;
535
 
536
  return apply_filters( 'mc_notime_label', $notime, $event );
537
  }
my-calendar.php CHANGED
@@ -17,7 +17,7 @@
17
  * License: GPL-2.0+
18
  * License URI: http://www.gnu.org/license/gpl-2.0.txt
19
  * Domain Path: lang
20
- * Version: 3.3.7
21
  */
22
 
23
  /*
@@ -42,7 +42,7 @@ if ( ! defined( 'ABSPATH' ) ) {
42
  }
43
 
44
  global $mc_version, $wpdb;
45
- $mc_version = '3.3.7';
46
 
47
  define( 'MC_DEBUG', false );
48
 
17
  * License: GPL-2.0+
18
  * License URI: http://www.gnu.org/license/gpl-2.0.txt
19
  * Domain Path: lang
20
+ * Version: 3.3.8
21
  */
22
 
23
  /*
42
  }
43
 
44
  global $mc_version, $wpdb;
45
+ $mc_version = '3.3.8';
46
 
47
  define( 'MC_DEBUG', false );
48
 
readme.txt CHANGED
@@ -6,7 +6,7 @@ Requires at least: 4.4
6
  Tested up to: 5.9
7
  Requires PHP: 7.0
8
  Text domain: my-calendar
9
- Stable tag: 3.3.7
10
  License: GPLv2 or later
11
 
12
  Accessible WordPress event calendar plugin. Show events from multiple calendars on pages, in posts, or in widgets.
@@ -84,6 +84,15 @@ Translating my plugins is always appreciated. Visit <a href="https://translate.w
84
 
85
  == Changelog ==
86
 
 
 
 
 
 
 
 
 
 
87
  = 3.3.7 =
88
 
89
  * Bug fix: Fixes location admin verification error in manage locations list.
6
  Tested up to: 5.9
7
  Requires PHP: 7.0
8
  Text domain: my-calendar
9
+ Stable tag: 3.3.8
10
  License: GPLv2 or later
11
 
12
  Accessible WordPress event calendar plugin. Show events from multiple calendars on pages, in posts, or in widgets.
84
 
85
  == Changelog ==
86
 
87
+ = 3.3.8 =
88
+
89
+ * Bug fix: Generated a duplicate location if event with location unselected location.
90
+ * Bug fix: Setting an event's all day label text to blank should not be overridden by defaults.
91
+ * Bug fix: Delete single event from front-end pointed to wrong destination.
92
+ * Bug fix: Missing help text for copying events.
93
+ * Change: Minor text change to empty location value.
94
+ * Change: Clear list items in list view (CSS)
95
+
96
  = 3.3.7 =
97
 
98
  * Bug fix: Fixes location admin verification error in manage locations list.
styles/twentyeighteen.css CHANGED
@@ -602,6 +602,7 @@
602
  border-top: 1px solid #d1d1d1;
603
  margin: .5em -10px;
604
  padding: 1em;
 
605
  }
606
 
607
  .mc-main .day .list-event, .mc-main .day .details {
602
  border-top: 1px solid #d1d1d1;
603
  margin: .5em -10px;
604
  padding: 1em;
605
+ clear: both;
606
  }
607
 
608
  .mc-main .day .list-event, .mc-main .day .details {
styles/twentyfifteen.css CHANGED
@@ -428,6 +428,7 @@
428
 
429
  .mc-main .list-event {
430
  margin-top: 1em;
 
431
  }
432
 
433
  .mc-main .mc-list-extended {
428
 
429
  .mc-main .list-event {
430
  margin-top: 1em;
431
+ clear: both;
432
  }
433
 
434
  .mc-main .mc-list-extended {
styles/twentyfourteen.css CHANGED
@@ -345,6 +345,7 @@
345
  background: rgba(255, 255, 255, .9);
346
  padding: 1em 2em;
347
  margin: .5em -.5em -.5em -.5em;
 
348
  }
349
 
350
  .mc-main .list-event .event-title {
345
  background: rgba(255, 255, 255, .9);
346
  padding: 1em 2em;
347
  margin: .5em -.5em -.5em -.5em;
348
+ clear: both;
349
  }
350
 
351
  .mc-main .list-event .event-title {
styles/twentytwentyone.css CHANGED
@@ -683,6 +683,7 @@
683
  border-top: 4px solid #d1d1d1;
684
  border-top: 4px solid var(--highlight-light);
685
  margin: .5em -10px;
 
686
  }
687
 
688
  .mc-main .day .list-event, .mc-main .day .details {
683
  border-top: 4px solid #d1d1d1;
684
  border-top: 4px solid var(--highlight-light);
685
  margin: .5em -10px;
686
+ clear: both;
687
  }
688
 
689
  .mc-main .day .list-event, .mc-main .day .details {
templates/twentyeighteen.css CHANGED
@@ -602,6 +602,7 @@
602
  border-top: 1px solid #d1d1d1;
603
  margin: .5em -10px;
604
  padding: 1em;
 
605
  }
606
 
607
  .mc-main .day .list-event, .mc-main .day .details {
602
  border-top: 1px solid #d1d1d1;
603
  margin: .5em -10px;
604
  padding: 1em;
605
+ clear: both;
606
  }
607
 
608
  .mc-main .day .list-event, .mc-main .day .details {
templates/twentyfifteen.css CHANGED
@@ -428,6 +428,7 @@
428
 
429
  .mc-main .list-event {
430
  margin-top: 1em;
 
431
  }
432
 
433
  .mc-main .mc-list-extended {
428
 
429
  .mc-main .list-event {
430
  margin-top: 1em;
431
+ clear: both;
432
  }
433
 
434
  .mc-main .mc-list-extended {
templates/twentyfourteen.css CHANGED
@@ -345,6 +345,7 @@
345
  background: rgba(255, 255, 255, .9);
346
  padding: 1em 2em;
347
  margin: .5em -.5em -.5em -.5em;
 
348
  }
349
 
350
  .mc-main .list-event .event-title {
345
  background: rgba(255, 255, 255, .9);
346
  padding: 1em 2em;
347
  margin: .5em -.5em -.5em -.5em;
348
+ clear: both;
349
  }
350
 
351
  .mc-main .list-event .event-title {
templates/twentytwentyone.css CHANGED
@@ -683,6 +683,7 @@
683
  border-top: 4px solid #d1d1d1;
684
  border-top: 4px solid var(--highlight-light);
685
  margin: .5em -10px;
 
686
  }
687
 
688
  .mc-main .day .list-event, .mc-main .day .details {
683
  border-top: 4px solid #d1d1d1;
684
  border-top: 4px solid var(--highlight-light);
685
  margin: .5em -10px;
686
+ clear: both;
687
  }
688
 
689
  .mc-main .day .list-event, .mc-main .day .details {