Version Description
- Add filters to 'Add to Google Calendar' link: mc_gcal_location & mc_gcal_description
- Add 'nofollow' to links to past events.
- Include recurrence info in post meta box.
- Change limit on adding occurrences from 20 to 40.
- Minor code refactoring.
Download this release
Release Info
Developer | joedolson |
Plugin | My Calendar |
Version | 3.1.18 |
Comparing to | |
See all releases |
Code changes from version 3.1.17 to 3.1.18
- includes/general-utilities.php +4 -0
- js/jquery.admin.js +2 -2
- my-calendar-core.php +2 -2
- my-calendar-event-manager.php +55 -52
- my-calendar-install.php +1 -1
- my-calendar-output.php +2 -1
- my-calendar-settings.php +2 -2
- my-calendar-templates.php +9 -6
- my-calendar.php +2 -2
- readme.txt +10 -2
includes/general-utilities.php
CHANGED
@@ -87,6 +87,10 @@ function mc_add_inner_box() {
|
|
87 |
$url = admin_url( 'admin.php?page=my-calendar&mode=edit&event_id=' . $event_id );
|
88 |
$event = mc_get_first_event( $event_id );
|
89 |
$content = '<p><strong>' . strip_tags( $event->event_title, mc_strip_tags() ) . '</strong><br />' . $event->event_begin . ' @ ' . $event->event_time . '</p>';
|
|
|
|
|
|
|
|
|
90 |
if ( '' != $event->event_label ) {
|
91 |
// Translators: Name of event location.
|
92 |
$content .= '<p>' . sprintf( __( '<strong>Location:</strong> %s', 'my-calendar' ), strip_tags( $event->event_label, mc_strip_tags() ) ) . '</p>';
|
87 |
$url = admin_url( 'admin.php?page=my-calendar&mode=edit&event_id=' . $event_id );
|
88 |
$event = mc_get_first_event( $event_id );
|
89 |
$content = '<p><strong>' . strip_tags( $event->event_title, mc_strip_tags() ) . '</strong><br />' . $event->event_begin . ' @ ' . $event->event_time . '</p>';
|
90 |
+
if ( $event->event_recur != 'S' ) {
|
91 |
+
$recur = mc_event_recur_string( $event, $event->event_begin );
|
92 |
+
$content .= wpautop( $recur );
|
93 |
+
}
|
94 |
if ( '' != $event->event_label ) {
|
95 |
// Translators: Name of event location.
|
96 |
$content .= '<p>' . sprintf( __( '<strong>Location:</strong> %s', 'my-calendar' ), strip_tags( $event->event_label, mc_strip_tags() ) ) . '</p>';
|
js/jquery.admin.js
CHANGED
@@ -9,8 +9,8 @@ jQuery(document).ready(function ($) {
|
|
9 |
$('#event' + num).after(newElem);
|
10 |
// enable the "remove" button.
|
11 |
$('#del_field').removeAttr('disabled');
|
12 |
-
// business rule: you can only add
|
13 |
-
if ( newNum ==
|
14 |
$('#add_field').attr('disabled', 'disabled');
|
15 |
}
|
16 |
});
|
9 |
$('#event' + num).after(newElem);
|
10 |
// enable the "remove" button.
|
11 |
$('#del_field').removeAttr('disabled');
|
12 |
+
// business rule: you can only add 40 occurrences.
|
13 |
+
if ( newNum == 40 ) {
|
14 |
$('#add_field').attr('disabled', 'disabled');
|
15 |
}
|
16 |
});
|
my-calendar-core.php
CHANGED
@@ -1220,8 +1220,8 @@ function mc_ajax_add_date() {
|
|
1220 |
$format = array( '%d', '%s', '%s', '%d' );
|
1221 |
$data = array(
|
1222 |
'occur_event_id' => $event_id,
|
1223 |
-
'occur_begin' => date( 'Y-m-d H:i:s', $begin ),
|
1224 |
-
'occur_end' => date( 'Y-m-d H:i:s', $end ),
|
1225 |
'occur_group_id' => $group_id,
|
1226 |
);
|
1227 |
$result = $wpdb->insert( my_calendar_event_table(), $data, $format );
|
1220 |
$format = array( '%d', '%s', '%s', '%d' );
|
1221 |
$data = array(
|
1222 |
'occur_event_id' => $event_id,
|
1223 |
+
'occur_begin' => date( 'Y-m-d H:i:s', $begin ), // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date
|
1224 |
+
'occur_end' => date( 'Y-m-d H:i:s', $end ), // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date
|
1225 |
'occur_group_id' => $group_id,
|
1226 |
);
|
1227 |
$result = $wpdb->insert( my_calendar_event_table(), $data, $format );
|
my-calendar-event-manager.php
CHANGED
@@ -1303,7 +1303,7 @@ function mc_show_block( $field, $has_data, $data, $echo = true, $default = '' )
|
|
1303 |
default:
|
1304 |
return;
|
1305 |
}
|
1306 |
-
$return = apply_filters( 'mc_show_block', $return, $data, $field );
|
1307 |
if ( true == $echo ) {
|
1308 |
echo $return;
|
1309 |
} else {
|
@@ -2751,58 +2751,61 @@ function mc_check_data( $action, $post, $i ) {
|
|
2751 |
die;
|
2752 |
}
|
2753 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2754 |
if ( '' == $errors ) {
|
2755 |
-
$
|
2756 |
-
$event_author = ( $event_author == $current_user->ID || current_user_can( 'mc_manage_events' ) ) ? $event_author : $current_user->ID;
|
2757 |
-
$primary = ( ! $primary ) ? 1 : $primary;
|
2758 |
-
$cats = ( isset( $cats ) && is_array( $cats ) ) ? $cats : array( 1 );
|
2759 |
-
$ok = true;
|
2760 |
-
$submit = array(
|
2761 |
-
// Begin strings.
|
2762 |
-
'event_begin' => $begin,
|
2763 |
-
'event_end' => $end,
|
2764 |
-
'event_title' => $title,
|
2765 |
-
'event_desc' => force_balance_tags( $desc ),
|
2766 |
-
'event_short' => force_balance_tags( $short ),
|
2767 |
-
'event_time' => $time,
|
2768 |
-
'event_endtime' => $endtime,
|
2769 |
-
'event_link' => $event_link,
|
2770 |
-
'event_label' => $event_label,
|
2771 |
-
'event_street' => $event_street,
|
2772 |
-
'event_street2' => $event_street2,
|
2773 |
-
'event_city' => $event_city,
|
2774 |
-
'event_state' => $event_state,
|
2775 |
-
'event_postcode' => $event_postcode,
|
2776 |
-
'event_region' => $event_region,
|
2777 |
-
'event_country' => $event_country,
|
2778 |
-
'event_url' => $event_url,
|
2779 |
-
'event_recur' => $recur,
|
2780 |
-
'event_image' => $event_image,
|
2781 |
-
'event_phone' => $event_phone,
|
2782 |
-
'event_phone2' => $event_phone2,
|
2783 |
-
'event_access' => ( is_array( $event_access ) ) ? serialize( $event_access ) : '',
|
2784 |
-
'event_tickets' => $event_tickets,
|
2785 |
-
'event_registration' => $event_registration,
|
2786 |
-
// Begin integers.
|
2787 |
-
'event_repeats' => $repeats,
|
2788 |
-
'event_author' => $event_author,
|
2789 |
-
'event_category' => $primary,
|
2790 |
-
'event_link_expires' => $expires,
|
2791 |
-
'event_zoom' => $event_zoom,
|
2792 |
-
'event_approved' => $approved,
|
2793 |
-
'event_host' => $host,
|
2794 |
-
'event_flagged' => $spam,
|
2795 |
-
'event_fifth_week' => $event_fifth_week,
|
2796 |
-
'event_holiday' => $event_holiday,
|
2797 |
-
'event_group_id' => $event_group_id,
|
2798 |
-
'event_span' => $event_span,
|
2799 |
-
'event_hide_end' => $event_hide_end,
|
2800 |
-
// Begin floats.
|
2801 |
-
'event_longitude' => $event_longitude,
|
2802 |
-
'event_latitude' => $event_latitude,
|
2803 |
-
// Array: removed before DB insertion.
|
2804 |
-
'event_categories' => $cats,
|
2805 |
-
);
|
2806 |
|
2807 |
$submit = array_map( 'mc_kses_post', $submit );
|
2808 |
} else {
|
1303 |
default:
|
1304 |
return;
|
1305 |
}
|
1306 |
+
$return = apply_filters( 'mc_show_block', $return, $data, $field, $has_data );
|
1307 |
if ( true == $echo ) {
|
1308 |
echo $return;
|
1309 |
} else {
|
2751 |
die;
|
2752 |
}
|
2753 |
|
2754 |
+
$current_user = wp_get_current_user();
|
2755 |
+
$event_author = ( $event_author == $current_user->ID || current_user_can( 'mc_manage_events' ) ) ? $event_author : $current_user->ID;
|
2756 |
+
$primary = ( ! $primary ) ? 1 : $primary;
|
2757 |
+
$cats = ( isset( $cats ) && is_array( $cats ) ) ? $cats : array( 1 );
|
2758 |
+
|
2759 |
+
$submit = array(
|
2760 |
+
// Begin strings.
|
2761 |
+
'event_begin' => $begin,
|
2762 |
+
'event_end' => $end,
|
2763 |
+
'event_title' => $title,
|
2764 |
+
'event_desc' => force_balance_tags( $desc ),
|
2765 |
+
'event_short' => force_balance_tags( $short ),
|
2766 |
+
'event_time' => $time,
|
2767 |
+
'event_endtime' => $endtime,
|
2768 |
+
'event_link' => $event_link,
|
2769 |
+
'event_label' => $event_label,
|
2770 |
+
'event_street' => $event_street,
|
2771 |
+
'event_street2' => $event_street2,
|
2772 |
+
'event_city' => $event_city,
|
2773 |
+
'event_state' => $event_state,
|
2774 |
+
'event_postcode' => $event_postcode,
|
2775 |
+
'event_region' => $event_region,
|
2776 |
+
'event_country' => $event_country,
|
2777 |
+
'event_url' => $event_url,
|
2778 |
+
'event_recur' => $recur,
|
2779 |
+
'event_image' => $event_image,
|
2780 |
+
'event_phone' => $event_phone,
|
2781 |
+
'event_phone2' => $event_phone2,
|
2782 |
+
'event_access' => ( is_array( $event_access ) ) ? serialize( $event_access ) : '',
|
2783 |
+
'event_tickets' => $event_tickets,
|
2784 |
+
'event_registration' => $event_registration,
|
2785 |
+
// Begin integers.
|
2786 |
+
'event_repeats' => $repeats,
|
2787 |
+
'event_author' => $event_author,
|
2788 |
+
'event_category' => $primary,
|
2789 |
+
'event_link_expires' => $expires,
|
2790 |
+
'event_zoom' => $event_zoom,
|
2791 |
+
'event_approved' => $approved,
|
2792 |
+
'event_host' => $host,
|
2793 |
+
'event_flagged' => $spam,
|
2794 |
+
'event_fifth_week' => $event_fifth_week,
|
2795 |
+
'event_holiday' => $event_holiday,
|
2796 |
+
'event_group_id' => $event_group_id,
|
2797 |
+
'event_span' => $event_span,
|
2798 |
+
'event_hide_end' => $event_hide_end,
|
2799 |
+
// Begin floats.
|
2800 |
+
'event_longitude' => $event_longitude,
|
2801 |
+
'event_latitude' => $event_latitude,
|
2802 |
+
// Array: removed before DB insertion.
|
2803 |
+
'event_categories' => $cats,
|
2804 |
+
);
|
2805 |
+
$errors = apply_filters( 'mc_fields_required', '', $submit );
|
2806 |
+
|
2807 |
if ( '' == $errors ) {
|
2808 |
+
$ok = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2809 |
|
2810 |
$submit = array_map( 'mc_kses_post', $submit );
|
2811 |
} else {
|
my-calendar-install.php
CHANGED
@@ -394,7 +394,7 @@ function mc_migrate_db() {
|
|
394 |
foreach ( $events as $event ) {
|
395 |
// assign endtimes to all events.
|
396 |
if ( '00:00:00' === $event->event_endtime && '00:00:00' !== $event->event_time ) {
|
397 |
-
$event->event_endtime = date( 'H:i:s', strtotime( "$event->event_time +1 hour" ) );
|
398 |
mc_flag_event( $event->event_id, $event->event_endtime );
|
399 |
}
|
400 |
// Set up category relationships if missing.
|
394 |
foreach ( $events as $event ) {
|
395 |
// assign endtimes to all events.
|
396 |
if ( '00:00:00' === $event->event_endtime && '00:00:00' !== $event->event_time ) {
|
397 |
+
$event->event_endtime = date( 'H:i:s', strtotime( "$event->event_time +1 hour" ) ); // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date
|
398 |
mc_flag_event( $event->event_id, $event->event_endtime );
|
399 |
}
|
400 |
// Set up category relationships if missing.
|
my-calendar-output.php
CHANGED
@@ -295,6 +295,7 @@ function my_calendar_draw_event( $event, $type = 'calendar', $process_date, $tim
|
|
295 |
$img = '';
|
296 |
$has_image = ( '' !== $image ) ? ' has-image' : '';
|
297 |
$event_classes = mc_event_classes( $event, $day_id, $type );
|
|
|
298 |
$header .= "<div id='$uid-$type-$id' class='$event_classes'>\n";
|
299 |
|
300 |
switch ( $type ) {
|
@@ -322,7 +323,7 @@ function my_calendar_draw_event( $event, $type = 'calendar', $process_date, $tim
|
|
322 |
if ( ( ( strpos( $event_title, 'href' ) === false ) && 'mini' !== $type && 'list' !== $type ) && ! $no_link ) {
|
323 |
if ( 'true' === $open_uri ) {
|
324 |
$details_link = esc_url( mc_get_details_link( $event ) );
|
325 |
-
$wrap = ( _mc_is_url( $details_link ) ) ? "<a href='$details_link' class='url summary$has_image'>" : '<span class="no-link">';
|
326 |
$balance = ( _mc_is_url( $details_link ) ) ? '</a>' : '</span>';
|
327 |
} else {
|
328 |
$wrap = "<a href='#$uid-$type-details' class='et_smooth_scroll_disabled url summary$has_image'>";
|
295 |
$img = '';
|
296 |
$has_image = ( '' !== $image ) ? ' has-image' : '';
|
297 |
$event_classes = mc_event_classes( $event, $day_id, $type );
|
298 |
+
$nofollow = ( stripos( $event_classes, 'past-event' ) !== false ) ? 'rel="nofollow"' : '';
|
299 |
$header .= "<div id='$uid-$type-$id' class='$event_classes'>\n";
|
300 |
|
301 |
switch ( $type ) {
|
323 |
if ( ( ( strpos( $event_title, 'href' ) === false ) && 'mini' !== $type && 'list' !== $type ) && ! $no_link ) {
|
324 |
if ( 'true' === $open_uri ) {
|
325 |
$details_link = esc_url( mc_get_details_link( $event ) );
|
326 |
+
$wrap = ( _mc_is_url( $details_link ) ) ? "<a href='$details_link' class='url summary$has_image' $nofollow>" : '<span class="no-link">';
|
327 |
$balance = ( _mc_is_url( $details_link ) ) ? '</a>' : '</span>';
|
328 |
} else {
|
329 |
$wrap = "<a href='#$uid-$type-details' class='et_smooth_scroll_disabled url summary$has_image'>";
|
my-calendar-settings.php
CHANGED
@@ -124,7 +124,7 @@ function my_calendar_import() {
|
|
124 |
$event_ids = array();
|
125 |
$events_results = false;
|
126 |
foreach ( $events as $key ) {
|
127 |
-
$endtime = ( '00:00:00' === $key['event_time'] ) ? '00:00:00' : date( 'H:i:s', strtotime( "$key[event_time] +1 hour" ) );
|
128 |
$data = array(
|
129 |
'event_title' => $key['event_title'],
|
130 |
'event_desc' => $key['event_desc'],
|
@@ -648,7 +648,7 @@ function mc_remote_db() {
|
|
648 |
$time_format = ( '' === get_option( 'mc_time_format', '' ) ) ? date_i18n( get_option( 'time_format' ) ) : date_i18n( get_option( 'mc_time_format' ) );
|
649 |
$week_format = ( '' === get_option( 'mc_week_format', '' ) ) ? date_i18n( 'M j, \'y' ) : date_i18n( get_option( 'mc_week_format' ) );
|
650 |
$date_format = ( '' === get_option( 'mc_date_format', '' ) ) ? date_i18n( get_option( 'date_format' ) ) : date_i18n( get_option( 'mc_date_format' ) );
|
651 |
-
$tomorrow = date( 'j' ) + 1;
|
652 |
$multi_format = ( '' === get_option( 'mc_multidate_format', '' ) ) ? date_i18n( str_replace( '%d', $tomorrow, 'F j-%d, Y' ) ) : date_i18n( str_replace( '%j', $tomorrow, get_option( 'mc_multidate_format' ) ) );
|
653 |
?>
|
654 |
<li><?php mc_settings_field( 'mc_date_format', __( 'Primary Date Format', 'my-calendar' ), '', $date_format ); ?></li>
|
124 |
$event_ids = array();
|
125 |
$events_results = false;
|
126 |
foreach ( $events as $key ) {
|
127 |
+
$endtime = ( '00:00:00' === $key['event_time'] ) ? '00:00:00' : date( 'H:i:s', strtotime( "$key[event_time] +1 hour" ) ); // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date
|
128 |
$data = array(
|
129 |
'event_title' => $key['event_title'],
|
130 |
'event_desc' => $key['event_desc'],
|
648 |
$time_format = ( '' === get_option( 'mc_time_format', '' ) ) ? date_i18n( get_option( 'time_format' ) ) : date_i18n( get_option( 'mc_time_format' ) );
|
649 |
$week_format = ( '' === get_option( 'mc_week_format', '' ) ) ? date_i18n( 'M j, \'y' ) : date_i18n( get_option( 'mc_week_format' ) );
|
650 |
$date_format = ( '' === get_option( 'mc_date_format', '' ) ) ? date_i18n( get_option( 'date_format' ) ) : date_i18n( get_option( 'mc_date_format' ) );
|
651 |
+
$tomorrow = date( 'j' ) + 1; // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date
|
652 |
$multi_format = ( '' === get_option( 'mc_multidate_format', '' ) ) ? date_i18n( str_replace( '%d', $tomorrow, 'F j-%d, Y' ) ) : date_i18n( str_replace( '%j', $tomorrow, get_option( 'mc_multidate_format' ) ) );
|
653 |
?>
|
654 |
<li><?php mc_settings_field( 'mc_date_format', __( 'Primary Date Format', 'my-calendar' ), '', $date_format ); ?></li>
|
my-calendar-templates.php
CHANGED
@@ -245,9 +245,9 @@ function mc_google_cal( $dtstart, $dtend, $url, $title, $location, $description
|
|
245 |
$base = "&dates=$dtstart/$dtend";
|
246 |
$base .= '&sprop=website:' . $url;
|
247 |
$base .= '&text=' . urlencode( $title );
|
248 |
-
$base .= '&location=' . urlencode( trim( $location ) );
|
249 |
$base .= '&sprop=name:' . urlencode( get_bloginfo( 'name' ) );
|
250 |
-
$base .= '&details=' . urlencode( stripcslashes( trim( $description ) ) );
|
251 |
$base .= '&sf=true&output=xml';
|
252 |
|
253 |
return $source . $base;
|
@@ -432,21 +432,24 @@ function mc_create_tags( $event, $context = 'filters' ) {
|
|
432 |
$e['time'],
|
433 |
);
|
434 |
|
|
|
|
|
|
|
435 |
$e_label = str_replace( $tags, $replacements, $e_template );
|
436 |
$e_link = mc_get_details_link( $event );
|
437 |
$e['link'] = mc_event_link( $event );
|
438 |
if ( $e['link'] ) {
|
439 |
-
$e['link_image'] = str_replace( "alt=''", "alt='" . esc_attr( $e['title'] ) . "'", "<a href='" . esc_url( $e['link'] ) . "'>" . $e['image'] . '</a>' );
|
440 |
-
$e['link_title'] = "<a href='" . esc_url( $event->event_link ) . "'>" . $e['title'] . '</a>';
|
441 |
} else {
|
442 |
$e['link_image'] = $e['image'];
|
443 |
$e['link_title'] = $e['title'];
|
444 |
}
|
445 |
|
446 |
$e['details_link'] = $e_link;
|
447 |
-
$e['details'] = "<a href='" . esc_url( $e_link ) . "' class='mc-details'>$e_label</a>";
|
448 |
$e['linking'] = ( '' != $e['link'] ) ? $event->event_link : $e_link;
|
449 |
-
$e['linking_title'] = ( '' != $e['linking'] ) ? "<a href='" . esc_url( $e['linking'] ) . "'>" . $e['title'] . '</a>' : $e['title'];
|
450 |
|
451 |
if ( 'related' != $context && ( is_singular( 'mc-events' ) || isset( $_GET['mc_id'] ) ) ) {
|
452 |
$related_template = apply_filters( 'mc_related_template', '{date}, {time}', $event );
|
245 |
$base = "&dates=$dtstart/$dtend";
|
246 |
$base .= '&sprop=website:' . $url;
|
247 |
$base .= '&text=' . urlencode( $title );
|
248 |
+
$base .= apply_filters( 'mc_gcal_location', '&location=' . urlencode( trim( $location ) ), $location );
|
249 |
$base .= '&sprop=name:' . urlencode( get_bloginfo( 'name' ) );
|
250 |
+
$base .= apply_filters( 'mc_gcal_description', '&details=' . urlencode( stripcslashes( trim( $description ) ) ), $description );
|
251 |
$base .= '&sf=true&output=xml';
|
252 |
|
253 |
return $source . $base;
|
432 |
$e['time'],
|
433 |
);
|
434 |
|
435 |
+
$classes = mc_event_classes( $event, $event->occur_id, 'template' );
|
436 |
+
$nofollow = ( stripos( $classes, 'past-event' ) !== false ) ? 'rel="nofollow"' : '';
|
437 |
+
|
438 |
$e_label = str_replace( $tags, $replacements, $e_template );
|
439 |
$e_link = mc_get_details_link( $event );
|
440 |
$e['link'] = mc_event_link( $event );
|
441 |
if ( $e['link'] ) {
|
442 |
+
$e['link_image'] = str_replace( "alt=''", "alt='" . esc_attr( $e['title'] ) . "'", "<a href='" . esc_url( $e['link'] ) . "' $nofollow>" . $e['image'] . '</a>' );
|
443 |
+
$e['link_title'] = "<a href='" . esc_url( $event->event_link ) . "' $nofollow>" . $e['title'] . '</a>';
|
444 |
} else {
|
445 |
$e['link_image'] = $e['image'];
|
446 |
$e['link_title'] = $e['title'];
|
447 |
}
|
448 |
|
449 |
$e['details_link'] = $e_link;
|
450 |
+
$e['details'] = "<a href='" . esc_url( $e_link ) . "' class='mc-details' $nofollow>$e_label</a>";
|
451 |
$e['linking'] = ( '' != $e['link'] ) ? $event->event_link : $e_link;
|
452 |
+
$e['linking_title'] = ( '' != $e['linking'] ) ? "<a href='" . esc_url( $e['linking'] ) . "' $nofollow>" . $e['title'] . '</a>' : $e['title'];
|
453 |
|
454 |
if ( 'related' != $context && ( is_singular( 'mc-events' ) || isset( $_GET['mc_id'] ) ) ) {
|
455 |
$related_template = apply_filters( 'mc_related_template', '{date}, {time}', $event );
|
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.1.
|
21 |
*/
|
22 |
|
23 |
/*
|
@@ -42,7 +42,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
42 |
}
|
43 |
|
44 |
global $mc_version, $wpdb;
|
45 |
-
$mc_version = '3.1.
|
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.1.18
|
21 |
*/
|
22 |
|
23 |
/*
|
42 |
}
|
43 |
|
44 |
global $mc_version, $wpdb;
|
45 |
+
$mc_version = '3.1.18';
|
46 |
|
47 |
define( 'MC_DEBUG', false );
|
48 |
|
readme.txt
CHANGED
@@ -3,9 +3,9 @@ Contributors: joedolson
|
|
3 |
Donate link: http://www.joedolson.com/donate/
|
4 |
Tags: calendar, dates, times, event, events, scheduling, schedule, event manager, event calendar, class, concert, venue, location, box office, tickets, registration
|
5 |
Requires at least: 4.4
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 5.3
|
8 |
-
Stable tag: 3.1.
|
9 |
Text domain: my-calendar
|
10 |
License: GPLv2 or later
|
11 |
|
@@ -83,6 +83,14 @@ Translating my plug-ins is always appreciated. Visit <a href="https://translate.
|
|
83 |
|
84 |
== Changelog ==
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
= 3.1.17 =
|
87 |
|
88 |
* Bug fix: comma misplaced in mc_list_title_title.
|
3 |
Donate link: http://www.joedolson.com/donate/
|
4 |
Tags: calendar, dates, times, event, events, scheduling, schedule, event manager, event calendar, class, concert, venue, location, box office, tickets, registration
|
5 |
Requires at least: 4.4
|
6 |
+
Tested up to: 5.3
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 3.1.18
|
9 |
Text domain: my-calendar
|
10 |
License: GPLv2 or later
|
11 |
|
83 |
|
84 |
== Changelog ==
|
85 |
|
86 |
+
= 3.1.18 =
|
87 |
+
|
88 |
+
* Add filters to 'Add to Google Calendar' link: mc_gcal_location & mc_gcal_description
|
89 |
+
* Add 'nofollow' to links to past events.
|
90 |
+
* Include recurrence info in post meta box.
|
91 |
+
* Change limit on adding occurrences from 20 to 40.
|
92 |
+
* Minor code refactoring.
|
93 |
+
|
94 |
= 3.1.17 =
|
95 |
|
96 |
* Bug fix: comma misplaced in mc_list_title_title.
|