My Calendar - Version 2.5.13

Version Description

  • Bug fix: Categories can not be part of the md5 hash used to identify unique tables (breaks AJAX nav for categories)
  • Bug fix: recurring scheduling for week-days only not functional when 7 days or greater
  • Bug fix: Print view location filters broken
  • Bug fix: Make AJAX scripting aware of which other scripts are enabled.
  • Bug fix: Sort scheduled dates for event by date
  • Bug fix: JetPack Grunion Contact form interfered with TinyMCE in contexts outside of post editor (https://github.com/Automattic/jetpack/issues/7598)
  • Bug fix: ensure date is retained if datepicker disabled
  • Bug fix: archived events filter marked as active when not *
Download this release

Release Info

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

Code changes from version 2.5.12 to 2.5.13

css/mc-styles.css CHANGED
@@ -512,6 +512,14 @@ input[name="mc_uri"] {
512
width: 60%;
513
}
514
515
.req {
516
color: red;
517
}
512
width: 60%;
513
}
514
515
+ select[name="event_recur"] {
516
+ vertical-align: top;
517
+ }
518
+
519
+ .my-calendar-admin li.events_access_notes {
520
+ padding: 0px 1px 1px 5px;
521
+ }
522
+
523
.req {
524
color: red;
525
}
js/jquery.public.js DELETED
@@ -1,19 +0,0 @@
1
- (function ($) {
2
- $(function () {
3
- // Delete single instances of recurring events.
4
- $( '.mc_response' ).hide();
5
- $('button.delete_occurrence').on( 'click', function () {
6
- var value = $(this).attr( 'data-value' );
7
- var data = {
8
- 'action': mc_data.action,
9
- 'occur_id': value,
10
- 'security': mc_data.security
11
- };
12
- $.post( ajaxurl, data, function (response) {
13
- if ( response.success == 1 ) {
14
- $( "button[data-value='"+value+"']" ).parent( 'li' ).hide();
15
- }
16
- $('.mc_response').text( response.response ).show( 300 );
17
- }, "json" );
18
- });
19
- }(jQuery));
js/mc-ajax.js CHANGED
@@ -11,12 +11,18 @@
11
$('#' + ref).load(link + ' #' + ref + ' > *', function () {
12
// functions to execute when new view loads.
13
// List view
14
- $('li.mc-events').children().not('.event-date').hide();
15
- $('li.current-day').children().show();
16
// Grid view
17
- $('.calendar .calendar-event').children().not('.event-title').hide();
18
// Mini view
19
- $('.mini .has-events').children().not('.trigger, .mc-date, .event-date').hide();
20
// All views
21
$( '#' + ref ).attr('tabindex', '-1').focus();
22
// Your Custom ajax load changes if needed
11
$('#' + ref).load(link + ' #' + ref + ' > *', function () {
12
// functions to execute when new view loads.
13
// List view
14
+ if ( typeof(mclist) !== "undefined" && mclist == 'true' ) {
15
+ $('li.mc-events').children().not('.event-date').hide();
16
+ $('li.current-day').children().show();
17
+ }
18
// Grid view
19
+ if ( typeof(mcgrid) !== "undefined" && mcgrid == 'true' ) {
20
+ $('.calendar .calendar-event').children().not('.event-title').hide();
21
+ }
22
// Mini view
23
+ if ( typeof(mcmini) !== "undefined" && mcmini == 'true' ) {
24
+ $('.mini .has-events').children().not('.trigger, .mc-date, .event-date').hide();
25
+ }
26
// All views
27
$( '#' + ref ).attr('tabindex', '-1').focus();
28
// Your Custom ajax load changes if needed
my-calendar-api.php CHANGED
@@ -327,7 +327,7 @@ PRODID:-//Accessible Web Design//My Calendar//http://www.joedolson.com//v' . $mc
327
if ( !empty( $alarm ) ) {
328
$alert = mc_generate_alert_ical( $alarm );
329
}
330
-
331
$template = str_replace( '{alert}', $alert, $template );
332
333
$output .= "\n" . jd_draw_template( $array, $template, 'ical' );
327
if ( !empty( $alarm ) ) {
328
$alert = mc_generate_alert_ical( $alarm );
329
}
330
+ $template = apply_filters( 'mc_filter_ical_template', $template );
331
$template = str_replace( '{alert}', $alert, $template );
332
333
$output .= "\n" . jd_draw_template( $array, $template, 'ical' );
my-calendar-core.php CHANGED
@@ -260,6 +260,7 @@ function my_calendar_write_js() {
260
?>
261
<script>
262
//<![CDATA[
263
jQuery(document).ready(function ($) {
264
$( '.mc-datepicker' ).pickadate({
265
monthsFull: mc_months,
@@ -274,6 +275,18 @@ function my_calendar_write_js() {
274
format: mc_time_format,
275
editable: true
276
});
277
$('#mc-accordion').accordion( { collapsible: true, active: false, heightStyle: 'content' } );
278
<?php
279
if ( function_exists( 'jd_doTwitterAPIPost' ) && isset( $_GET['page'] ) && $_GET['page'] == 'my-calendar' ) {
@@ -366,21 +379,25 @@ $script = '
366
if ( get_option( 'mc_calendar_javascript' ) != 1 && get_option( 'mc_open_uri' ) != 'true' ) {
367
$url = apply_filters( 'mc_grid_js', plugins_url( 'js/mc-grid.js', __FILE__ ) );
368
wp_enqueue_script( 'mc.grid', $url, array( 'jquery' ) );
369
$enqueue_mcjs = true;
370
}
371
if ( get_option( 'mc_list_javascript' ) != 1 ) {
372
$url = apply_filters( 'mc_list_js', plugins_url( 'js/mc-list.js', __FILE__ ) );
373
wp_enqueue_script( 'mc.list', $url, array( 'jquery' ) );
374
$enqueue_mcjs = true;
375
}
376
if ( get_option( 'mc_mini_javascript' ) != 1 && get_option( 'mc_open_day_uri' ) != 'true' ) {
377
$url = apply_filters( 'mc_mini_js', plugins_url( 'js/mc-mini.js', __FILE__ ) );
378
wp_enqueue_script( 'mc.mini', $url, array( 'jquery' ) );
379
$enqueue_mcjs = true;
380
}
381
if ( get_option( 'mc_ajax_javascript' ) != 1 ) {
382
$url = apply_filters( 'mc_ajax_js', plugins_url( 'js/mc-ajax.js', __FILE__ ) );
383
wp_enqueue_script( 'mc.ajax', $url, array( 'jquery' ) );
384
$enqueue_mcjs = true;
385
}
386
if ( $enqueue_mcjs ) {
@@ -1674,7 +1691,8 @@ function mc_increment_event( $id, $post = array(), $test = false ) {
1674
$format = array( '%d', '%s', '%s', '%d' );
1675
$recurs = str_split( $event->event_recur, 1 );
1676
$recur = $recurs[0];
1677
- $every = ( isset( $recurs[1] ) ) ? $recurs[1] : 1;
1678
if ( $recur != "S" ) {
1679
// if this event had a rep of 0, translate that.
1680
$event_repetition = ( $event->event_repeats != 0 ) ? $event->event_repeats : _mc_increment_values( $recur );
@@ -1682,11 +1700,67 @@ function mc_increment_event( $id, $post = array(), $test = false ) {
1682
if ( $recur != 'S' ) {
1683
switch ( $recur ) {
1684
case "D":
1685
- case "E":
1686
for ( $i = 0; $i <= $numforward; $i ++ ) {
1687
$begin = my_calendar_add_date( $orig_begin, $i * $every, 0, 0 );
1688
$end = my_calendar_add_date( $orig_end, $i * $every, 0, 0 );
1689
- if ( ( $recur == 'E' && ( date( 'w', $begin ) != 0 && date( 'w', $begin ) != 6 ) ) || $recur == 'D' ) {
1690
$data = array(
1691
'occur_event_id' => $id,
1692
'occur_begin' => date( 'Y-m-d H:i:s', $begin ),
@@ -1705,8 +1779,6 @@ function mc_increment_event( $id, $post = array(), $test = false ) {
1705
$wpdb->insert( my_calendar_event_table(), $data, $format );
1706
}
1707
}
1708
- } else {
1709
- $numforward ++;
1710
}
1711
}
1712
break;
@@ -1901,6 +1973,7 @@ function mc_register_actions() {
1901
1902
// Filters
1903
add_filter( 'post_updated_messages', 'mc_posttypes_messages' );
1904
1905
// Actions
1906
add_action( 'init', 'mc_taxonomies', 0 );
260
?>
261
<script>
262
//<![CDATA[
263
+ if ( typeof(mc_months) !== "undefined" ) {
264
jQuery(document).ready(function ($) {
265
$( '.mc-datepicker' ).pickadate({
266
monthsFull: mc_months,
275
format: mc_time_format,
276
editable: true
277
});
278
+ });
279
+ } else {
280
+ jQuery(document).ready(function ($) {
281
+ var datepicked = $( '.mc-datepicker' ).attr( 'data-value' );
282
+ $( '.mc-datepicker' ).val( datepicked );
283
+ });
284
+ }
285
+ //]]>
286
+ </script>
287
+ <script>
288
+ //<![CDATA[
289
+ jQuery(document).ready(function ($) {
290
$('#mc-accordion').accordion( { collapsible: true, active: false, heightStyle: 'content' } );
291
<?php
292
if ( function_exists( 'jd_doTwitterAPIPost' ) && isset( $_GET['page'] ) && $_GET['page'] == 'my-calendar' ) {
379
if ( get_option( 'mc_calendar_javascript' ) != 1 && get_option( 'mc_open_uri' ) != 'true' ) {
380
$url = apply_filters( 'mc_grid_js', plugins_url( 'js/mc-grid.js', __FILE__ ) );
381
wp_enqueue_script( 'mc.grid', $url, array( 'jquery' ) );
382
+ wp_localize_script( 'mc.grid', 'mcgrid', 'true' );
383
$enqueue_mcjs = true;
384
}
385
if ( get_option( 'mc_list_javascript' ) != 1 ) {
386
$url = apply_filters( 'mc_list_js', plugins_url( 'js/mc-list.js', __FILE__ ) );
387
wp_enqueue_script( 'mc.list', $url, array( 'jquery' ) );
388
+ wp_localize_script( 'mc.list', 'mclist', 'true' );
389
$enqueue_mcjs = true;
390
}
391
if ( get_option( 'mc_mini_javascript' ) != 1 && get_option( 'mc_open_day_uri' ) != 'true' ) {
392
$url = apply_filters( 'mc_mini_js', plugins_url( 'js/mc-mini.js', __FILE__ ) );
393
wp_enqueue_script( 'mc.mini', $url, array( 'jquery' ) );
394
+ wp_localize_script( 'mc.mini', 'mcmini', 'true' );
395
$enqueue_mcjs = true;
396
}
397
if ( get_option( 'mc_ajax_javascript' ) != 1 ) {
398
$url = apply_filters( 'mc_ajax_js', plugins_url( 'js/mc-ajax.js', __FILE__ ) );
399
wp_enqueue_script( 'mc.ajax', $url, array( 'jquery' ) );
400
+ wp_localize_script( 'mc.ajax', 'mcAjax', 'true' );
401
$enqueue_mcjs = true;
402
}
403
if ( $enqueue_mcjs ) {
1691
$format = array( '%d', '%s', '%s', '%d' );
1692
$recurs = str_split( $event->event_recur, 1 );
1693
$recur = $recurs[0];
1694
+ // can't use 2nd value directly if it's two digits
1695
+ $every = ( isset( $recurs[1] ) ) ? str_replace( $recurs[0], '', $event->event_recur ) : 1;
1696
if ( $recur != "S" ) {
1697
// if this event had a rep of 0, translate that.
1698
$event_repetition = ( $event->event_repeats != 0 ) ? $event->event_repeats : _mc_increment_values( $recur );
1700
if ( $recur != 'S' ) {
1701
switch ( $recur ) {
1702
case "D":
1703
for ( $i = 0; $i <= $numforward; $i ++ ) {
1704
$begin = my_calendar_add_date( $orig_begin, $i * $every, 0, 0 );
1705
$end = my_calendar_add_date( $orig_end, $i * $every, 0, 0 );
1706
+
1707
+ $data = array(
1708
+ 'occur_event_id' => $id,
1709
+ 'occur_begin' => date( 'Y-m-d H:i:s', $begin ),
1710
+ 'occur_end' => date( 'Y-m-d H:i:s', $end ),
1711
+ 'occur_group_id' => $group_id
1712
+ );
1713
+ if ( $test == 'test' && $i > 0 ) {
1714
+ return $data;
1715
+ }
1716
+ if ( $test == true ) {
1717
+ $return[] = $data;
1718
+ }
1719
+ if ( ! $test ) {
1720
+ $insert = apply_filters( 'mc_insert_recurring', false, $data, $format, $id, 'daily' );
1721
+ if ( ! $insert ) {
1722
+ $wpdb->insert( my_calendar_event_table(), $data, $format );
1723
+ }
1724
+ }
1725
+ }
1726
+ break;
1727
+ case "E":
1728
+ // This doesn't work for weekdays unless the period is less than one week, as it doesn't account for day repetitions.
1729
+ // probably need to set up two nested for loops two identify the number of days forward required to go through x week days.
1730
+ // $every = e.g. every 14 weekdays
1731
+ // $numforward = e.g. 7 times
1732
+ if ( $every < 7 ) {
1733
+ for ( $i = 0; $i <= $numforward; $i ++ ) {
1734
+ $begin = my_calendar_add_date( $orig_begin, $i * $every, 0, 0 );
1735
+ $end = my_calendar_add_date( $orig_end, $i * $every, 0, 0 );
1736
+ if ( ( date( 'w', $begin ) != 0 && date( 'w', $begin ) != 6 ) ) {
1737
+ $data = array(
1738
+ 'occur_event_id' => $id,
1739
+ 'occur_begin' => date( 'Y-m-d H:i:s', $begin ),
1740
+ 'occur_end' => date( 'Y-m-d H:i:s', $end ),
1741
+ 'occur_group_id' => $group_id
1742
+ );
1743
+ if ( $test == 'test' && $i > 0 ) {
1744
+ return $data;
1745
+ }
1746
+ if ( $test == true ) {
1747
+ $return[] = $data;
1748
+ }
1749
+ if ( ! $test ) {
1750
+ $insert = apply_filters( 'mc_insert_recurring', false, $data, $format, $id, 'daily' );
1751
+ if ( ! $insert ) {
1752
+ $wpdb->insert( my_calendar_event_table(), $data, $format );
1753
+ }
1754
+ }
1755
+ } else {
1756
+ $numforward ++;
1757
+ }
1758
+ }
1759
+ } else {
1760
+ // get number of weeks included in data'
1761
+ for( $i = 0; $i <= $event_repetition; $i ++ ) {
1762
+ $begin = strtotime( $orig_begin . ' ' . ( $every * $i ) . ' weekdays' );
1763
+ $end = strtotime( $orig_end . ' ' . ( $every * $i ) . ' weekdays' );
1764
$data = array(
1765
'occur_event_id' => $id,
1766
'occur_begin' => date( 'Y-m-d H:i:s', $begin ),
1779
$wpdb->insert( my_calendar_event_table(), $data, $format );
1780
}
1781
}
1782
}
1783
}
1784
break;
1973
1974
// Filters
1975
add_filter( 'post_updated_messages', 'mc_posttypes_messages' );
1976
+ add_filter( 'tmp_grunion_allow_editor_view', '__return_false' );
1977
1978
// Actions
1979
add_action( 'init', 'mc_taxonomies', 0 );
my-calendar-event-manager.php CHANGED
@@ -921,7 +921,7 @@ function mc_show_block( $field, $has_data, $data, $echo = true, $default = '' )
921
$event_recur = ( is_object( $data ) ) ? $data->event_recur : '';
922
$recurs = str_split( $event_recur, 1 );
923
$recur = $recurs[0];
924
- $every = ( isset( $recurs[1] ) ) ? $recurs[1] : 1;
925
if ( $every == 1 && $recur == 'B' ) {
926
$every = 2;
927
}
@@ -943,8 +943,8 @@ function mc_show_block( $field, $has_data, $data, $echo = true, $default = '' )
943
<fieldset>
944
<legend class="screen-reader-text">' . __( 'Recurring Events', 'my-calendar' ) . '</legend>
945
<p>
946
- <label for="e_repeats">' . __( 'Repeats', 'my-calendar' ) . ' <input type="text" name="event_repeats" aria-labelledby="e_repeats_label" id="e_repeats" size="1" value="' . esc_attr( $repeats ) . '" /> <span id="e_repeats_label">' . __( 'times', 'my-calendar' ) . '</span>, </label>
947
- <label for="e_every">' . __( 'every', 'my-calendar' ) . '</label> <input type="number" name="event_every" id="e_every" size="1" min="1" max="99" maxlength="2" value="' . esc_attr( $every ) . '" />
948
<label for="e_recur" class="screen-reader-text">' . __( 'Units', 'my-calendar' ) . '</label>
949
<select name="event_recur" id="e_recur">
950
' . mc_recur_options( $recur ) . '
@@ -1146,7 +1146,7 @@ function mc_form_fields( $data, $mode, $event_id ) {
1146
$args = "&amp;date=$id";
1147
}
1148
}
1149
- $delete = " &middot; <a href='" . admin_url( "admin.php?page=my-calendar-manage&amp;mode=delete&amp;event_id=$event_id$args" ) . "' class='delete'>" . __( 'Delete', 'my-calendar' ) . "</a>";
1150
} else {
1151
$text = __( 'Add Event', 'my-calendar' );
1152
$delete = '';
@@ -1163,7 +1163,7 @@ function mc_form_fields( $data, $mode, $event_id ) {
1163
<div class="inside">
1164
<p class='mc-controls'>
1165
<a href="<?php echo admin_url( 'admin.php?page=my-calendar-manage' ); ?>"><?php echo ( current_user_can( 'mc_manage_events' ) ) ? __( 'Manage events', 'my-calendar' ) : __( 'Manage your events', 'my-calendar' ); ?></a>
1166
- <?php echo $delete; echo $text_link; ?> <input type="submit" name="save" class="button-primary" value="<?php _e( 'Save Event', 'my-calendar' ); ?>"/>
1167
</p>
1168
<?php
1169
if ( ! empty( $_GET['date'] ) && $data->event_recur != 'S' ) {
@@ -1308,7 +1308,8 @@ function mc_form_fields( $data, $mode, $event_id ) {
1308
$date = (int) $_GET['date'];
1309
} else {
1310
$date = false;
1311
- } ?>
1312
<?php echo mc_instance_list( $data->event_id, $date ); ?>
1313
</ul>
1314
<p><button type='button' class='add-occurrence' aria-expanded="false"><span class='dashicons' aria-hidden='true'> </span><?php _e( 'Add another date', 'my-calendar' ); ?></button></p>
@@ -1507,7 +1508,7 @@ function mc_event_accessibility( $form, $data, $label ) {
1507
if ( isset( $events_access['notes'] ) ) {
1508
$note_value = esc_attr( $events_access['notes'] );
1509
}
1510
- $form .= '<li><label for="events_access_notes">' . __( 'Notes', 'my-calendar' ) . '</label> <input type="text" id="events_access_notes" name="events_access[notes]" value="' . esc_attr( $note_value ) . '" /></li>';
1511
$form .= "</ul>
1512
</fieldset>";
1513
@@ -1655,17 +1656,37 @@ function mc_list_events() {
1655
1656
$found_rows = $wpdb->get_col( "SELECT FOUND_ROWS();" );
1657
$items = $found_rows[0];
1658
- // Navigation
1659
- if ( ( function_exists( 'akismet_http_post' ) || function_exists( 'bs_checker' ) ) && $allow_filters ) {
1660
- ?>
1661
- <ul class="links">
1662
<li>
1663
- <a <?php echo ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'flagged' ) ? 'class="active-link"' : ''; ?>
1664
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=flagged&amp;filter=1' ); ?>"><?php _e( 'Spam', 'my-calendar' ); ?></a>
1665
</li>
1666
- </ul><?php
1667
- }
1668
- ?>
1669
<div class='mc-search'>
1670
<form action="<?php echo esc_url( add_query_arg( $_GET, admin_url( 'admin.php' ) ) ); ?>" method="post">
1671
<div><input type="hidden" name="_wpnonce"
@@ -1682,27 +1703,6 @@ function mc_list_events() {
1682
</form>
1683
</div>
1684
<?php
1685
- if ( get_option( 'mc_event_approve' ) == 'true' ) {
1686
- ?>
1687
- <ul class="links">
1688
- <li>
1689
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'published' ) ? 'class="active-link"' : ''; ?>
1690
- href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=published' ); ?>"><?php _e( 'Published', 'my-calendar' ); ?></a>
1691
- </li>
1692
- <li>
1693
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'reserved' ) ? 'class="active-link"' : ''; ?>
1694
- href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=reserved' ); ?>"><?php _e( 'Reserved', 'my-calendar' ); ?></a>
1695
- </li>
1696
- <li>
1697
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'all' || ! isset( $_GET['limit'] ) ) ? 'class="active-link"' : ''; ?>
1698
- href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=archived' ); ?>"><?php _e( 'Archived', 'my-calendar' ); ?></a>
1699
- </li>
1700
- <li>
1701
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'all' || ! isset( $_GET['limit'] ) ) ? 'class="active-link"' : ''; ?>
1702
- href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=all' ); ?>"><?php _e( 'All', 'my-calendar' ); ?></a>
1703
- </li>
1704
- </ul><?php
1705
- }
1706
echo $filtered;
1707
$num_pages = ceil( $items / $items_per_page );
1708
if ( $num_pages > 1 ) {
@@ -1720,23 +1720,18 @@ function mc_list_events() {
1720
if ( ! empty( $events ) ) {
1721
?>
1722
<form action="<?php echo esc_url( add_query_arg( $_GET, admin_url( 'admin.php' ) ) ); ?>" method="post">
1723
- <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce( 'my-calendar-nonce' ); ?>"/>
1724
- </div>
1725
- <div class='mc-actions'>
1726
- <input type="submit" class="button-secondary delete" name="mass_delete"
1727
- value="<?php _e( 'Delete events', 'my-calendar' ); ?>"/>
1728
- <?php if ( current_user_can( 'mc_approve_events' ) ) { ?>
1729
- <input type="submit" class="button-secondary mc-approve" name="mass_approve"
1730
- value="<?php _e( 'Approve events', 'my-calendar' ); ?>"/>
1731
- <?php } ?>
1732
- <?php if ( ! ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'archived' ) ) { ?>
1733
- <input type="submit" class="button-secondary mc-archive" name="mass_archive"
1734
- value="<?php _e( 'Archive events', 'my-calendar' ); ?>"/>
1735
- <?php } else { ?>
1736
- <input type="submit" class="button-secondary mc-archive" name="mass_undo_archive"
1737
- value="<?php _e( 'Remove from archive', 'my-calendar' ); ?>"/>
1738
- <?php } ?>
1739
- </div>
1740
1741
<table class="widefat wp-list-table" id="my-calendar-admin-table">
1742
<thead>
@@ -1797,11 +1792,11 @@ function mc_list_events() {
1797
<tr class="<?php echo "$class $spam $pending $problem"; ?>">
1798
<th scope="row">
1799
<input type="checkbox" value="<?php echo $event->event_id; ?>" name="mass_edit[]" id="mc<?php echo $event->event_id; ?>" <?php echo ( $event->event_flagged == 1 ) ? 'checked="checked"' : ''; ?> />
1800
- <label for="mc<?php echo $event->event_id; ?>"><?php echo $event->event_id; ?></label>
1801
</th>
1802
<td>
1803
<strong><?php if ( mc_can_edit_event( $event->event_id ) ) { ?>
1804
- <a href="<?php echo $edit_url; ?>" class='edit'>
1805
<?php } ?>
1806
<?php echo $spam_label; echo strip_tags( stripslashes( $event->event_title ) ); ?>
1807
<?php if ( mc_can_edit_event( $event->event_id ) ) {
@@ -1811,7 +1806,7 @@ function mc_list_events() {
1811
}
1812
} ?></strong>
1813
1814
- <div class='row-actions' style="visibility:visible;">
1815
<?php if ( mc_event_published( $event ) ) { ?>
1816
<a href="<?php echo $view_url; ?>" class='view'><?php _e( 'View', 'my-calendar' ); ?></a> |
1817
<?php } ?>
@@ -1856,12 +1851,12 @@ function mc_list_events() {
1856
<td>
1857
<?php if ( $event->event_label != '' ) { ?><a class='mc_filter' href='<?php $elabel = urlencode( $event->event_label ); echo admin_url( "admin.php?page=my-calendar-manage&amp;filter=$elabel&amp;restrict=where" ); ?>' title="<?php _e( 'Filter by location', 'my-calendar' ); ?>"><span class="screen-reader-text"><?php _e( 'Show only: ', 'my-calendar' ); ?></span><?php echo strip_tags( stripslashes( $event->event_label ) ); ?></a><?php } ?>
1858
</td>
1859
- <?php if ( $event->event_endtime != "23:59:59" ) {
1860
- $eventTime = date_i18n( get_option( 'mc_time_format' ), mc_strtotime( $event->event_time ) );
1861
- } else {
1862
- $eventTime = mc_notime_label( $event );
1863
- } ?>
1864
<td><?php
1865
$date_format = ( get_option( 'mc_date_format' ) == '' ) ? get_option( 'date_format' ) : get_option( 'mc_date_format' );
1866
$begin = date_i18n( $date_format, mc_strtotime( $event->event_begin ) );
1867
echo "$begin, $eventTime"; ?>
@@ -1870,7 +1865,7 @@ function mc_list_events() {
1870
<?php
1871
$recurs = str_split( $event->event_recur, 1 );
1872
$recur = $recurs[0];
1873
- $every = ( isset( $recurs[1] ) ) ? $recurs[1] : 1;
1874
1875
// Interpret the DB values into something human readable
1876
switch ( $recur ) {
@@ -1940,38 +1935,35 @@ function mc_list_events() {
1940
}
1941
?>
1942
</table>
1943
- <?php
1944
- // navigation
1945
- if ( ( function_exists( 'akismet_http_post' ) || function_exists( 'bs_checker' ) ) && $allow_filters ) {
1946
- ?>
1947
- <ul class="links">
1948
- <li>
1949
- <a <?php echo ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'flagged' ) ? 'class="active-link"' : ''; ?>
1950
- href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=flagged&amp;filter=1' ); ?>"><?php _e( 'Spam', 'my-calendar' ); ?></a>
1951
- </li>
1952
- </ul><?php
1953
- }
1954
- if ( get_option( 'mc_event_approve' ) == 'true' ) {
1955
- ?>
1956
- <ul class="links">
1957
<li>
1958
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'published' ) ? 'class="active-link"' : ''; ?>
1959
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=published' ); ?>"><?php _e( 'Published', 'my-calendar' ); ?></a>
1960
</li>
1961
<li>
1962
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'reserved' ) ? 'class="active-link"' : ''; ?>
1963
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=reserved' ); ?>"><?php _e( 'Reserved', 'my-calendar' ); ?></a>
1964
</li>
1965
<li>
1966
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'all' || ! isset( $_GET['limit'] ) ) ? 'class="active-link"' : ''; ?>
1967
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=archived' ); ?>"><?php _e( 'Archived', 'my-calendar' ); ?></a>
1968
</li>
1969
<li>
1970
- <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'all' || ! isset( $_GET['limit'] ) ) ? 'class="active-link"' : ''; ?>
1971
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=all' ); ?>"><?php _e( 'All', 'my-calendar' ); ?></a>
1972
</li>
1973
- </ul><?php
1974
- }
1975
echo $filtered;
1976
$num_pages = ceil( $items / $items_per_page );
1977
if ( $num_pages > 1 ) {
@@ -2468,9 +2460,9 @@ function mc_instance_list( $id, $occur = false, $template = '<h3>{title}</h3>{de
2468
$id = (int) $id;
2469
$output = '';
2470
if ( $instance == true ) {
2471
- $sql = "SELECT * FROM " . my_calendar_event_table() . " WHERE occur_id=$id";
2472
} else {
2473
- $sql = "SELECT * FROM " . my_calendar_event_table() . " WHERE occur_event_id=$id";
2474
}
2475
$results = $wpdb->get_results( $sql );
2476
if ( is_array( $results ) && is_admin() ) {
921
$event_recur = ( is_object( $data ) ) ? $data->event_recur : '';
922
$recurs = str_split( $event_recur, 1 );
923
$recur = $recurs[0];
924
+ $every = ( isset( $recurs[1] ) ) ? str_replace( $recurs[0], '', $event_recur ) : 1;
925
if ( $every == 1 && $recur == 'B' ) {
926
$every = 2;
927
}
943
<fieldset>
944
<legend class="screen-reader-text">' . __( 'Recurring Events', 'my-calendar' ) . '</legend>
945
<p>
946
+ <label for="e_repeats">' . __( 'Repeats', 'my-calendar' ) . ' <input type="text" name="event_repeats" aria-labelledby="e_repeats_label" id="e_repeats" size="2" value="' . esc_attr( $repeats ) . '" /> <span id="e_repeats_label">' . __( 'times', 'my-calendar' ) . '</span>, </label>
947
+ <label for="e_every">' . __( 'every', 'my-calendar' ) . '</label> <input type="number" name="event_every" id="e_every" size="2" min="1" max="99" maxlength="2" value="' . esc_attr( $every ) . '" />
948
<label for="e_recur" class="screen-reader-text">' . __( 'Units', 'my-calendar' ) . '</label>
949
<select name="event_recur" id="e_recur">
950
' . mc_recur_options( $recur ) . '
1146
$args = "&amp;date=$id";
1147
}
1148
}
1149
+ $delete = " &middot; <a href='" . admin_url( "admin.php?page=my-calendar-manage&amp;mode=delete&amp;event_id=$event_id$args" ) . "' class='delete'>" . __( 'Delete', 'my-calendar' ) . "</a>";
1150
} else {
1151
$text = __( 'Add Event', 'my-calendar' );
1152
$delete = '';
1163
<div class="inside">
1164
<p class='mc-controls'>
1165
<a href="<?php echo admin_url( 'admin.php?page=my-calendar-manage' ); ?>"><?php echo ( current_user_can( 'mc_manage_events' ) ) ? __( 'Manage events', 'my-calendar' ) : __( 'Manage your events', 'my-calendar' ); ?></a>
1166
+ <?php echo $delete; echo $text_link; ?> <input type="submit" name="save" class="button-primary" value="<?php _e( 'Save Event', 'my-calendar' ); ?>"/>
1167
</p>
1168
<?php
1169
if ( ! empty( $_GET['date'] ) && $data->event_recur != 'S' ) {
1308
$date = (int) $_GET['date'];
1309
} else {
1310
$date = false;
1311
+ }
1312
+ ?>
1313
<?php echo mc_instance_list( $data->event_id, $date ); ?>
1314
</ul>
1315
<p><button type='button' class='add-occurrence' aria-expanded="false"><span class='dashicons' aria-hidden='true'> </span><?php _e( 'Add another date', 'my-calendar' ); ?></button></p>
1508
if ( isset( $events_access['notes'] ) ) {
1509
$note_value = esc_attr( $events_access['notes'] );
1510
}
1511
+ $form .= '<li class="events_access_notes"><label for="events_access_notes">' . __( 'Notes', 'my-calendar' ) . '</label> <input type="text" id="events_access_notes" name="events_access[notes]" value="' . esc_attr( $note_value ) . '" /></li>';
1512
$form .= "</ul>
1513
</fieldset>";
1514
1656
1657
$found_rows = $wpdb->get_col( "SELECT FOUND_ROWS();" );
1658
$items = $found_rows[0];
1659
+
1660
+ ?>
1661
+ <ul class="links">
1662
+ <?php if ( get_option( 'mc_event_approve' ) == 'true' ) { ?>
1663
<li>
1664
+ <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'published' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1665
+ href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=published' ); ?>"><?php _e( 'Published', 'my-calendar' ); ?></a>
1666
+ </li>
1667
+ <li>
1668
+ <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'reserved' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1669
+ href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=reserved' ); ?>"><?php _e( 'Reserved', 'my-calendar' ); ?></a>
1670
+ </li>
1671
+ <li>
1672
+ <a <?php echo ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'archived' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1673
+ href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=archived' ); ?>"><?php _e( 'Archived', 'my-calendar' ); ?></a>
1674
+ </li>
1675
+ <?php } ?>
1676
+ <?php if ( ( function_exists( 'akismet_http_post' ) || function_exists( 'bs_checker' ) ) && $allow_filters ) { ?>
1677
+ <li>
1678
+ <a <?php echo ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'flagged' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1679
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=flagged&amp;filter=1' ); ?>"><?php _e( 'Spam', 'my-calendar' ); ?></a>
1680
</li>
1681
+ <?php } ?>
1682
+ <?php if ( get_option( 'mc_event_approve' ) == 'true' ) { ?>
1683
+ <li>
1684
+ <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'all' || ( ! isset( $_GET['limit'] ) && ! isset( $_GET['restrict'] ) ) ) ? 'class="active-link" aria-current="true"' : ''; ?>
1685
+ href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=all' ); ?>"><?php _e( 'All', 'my-calendar' ); ?></a>
1686
+ </li>
1687
+ <?php } ?>
1688
+ </ul>
1689
+
1690
<div class='mc-search'>
1691
<form action="<?php echo esc_url( add_query_arg( $_GET, admin_url( 'admin.php' ) ) ); ?>" method="post">
1692
<div><input type="hidden" name="_wpnonce"
1703
</form>
1704
</div>
1705
<?php
1706
echo $filtered;
1707
$num_pages = ceil( $items / $items_per_page );
1708
if ( $num_pages > 1 ) {
1720
if ( ! empty( $events ) ) {
1721
?>
1722
<form action="<?php echo esc_url( add_query_arg( $_GET, admin_url( 'admin.php' ) ) ); ?>" method="post">
1723
+ <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce( 'my-calendar-nonce' ); ?>" /></div>
1724
+ <div class='mc-actions'>
1725
+ <input type="submit" class="button-secondary delete" name="mass_delete" value="<?php _e( 'Delete events', 'my-calendar' ); ?>"/>
1726
+ <?php if ( current_user_can( 'mc_approve_events' ) ) { ?>
1727
+ <input type="submit" class="button-secondary mc-approve" name="mass_approve" value="<?php _e( 'Approve events', 'my-calendar' ); ?>"/>
1728
+ <?php } ?>
1729
+ <?php if ( ! ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'archived' ) ) { ?>
1730
+ <input type="submit" class="button-secondary mc-archive" name="mass_archive" value="<?php _e( 'Archive events', 'my-calendar' ); ?>"/>
1731
+ <?php } else { ?>
1732
+ <input type="submit" class="button-secondary mc-archive" name="mass_undo_archive" value="<?php _e( 'Remove from archive', 'my-calendar' ); ?>" />
1733
+ <?php } ?>
1734
+ </div>
1735
1736
<table class="widefat wp-list-table" id="my-calendar-admin-table">
1737
<thead>
1792
<tr class="<?php echo "$class $spam $pending $problem"; ?>">
1793
<th scope="row">
1794
<input type="checkbox" value="<?php echo $event->event_id; ?>" name="mass_edit[]" id="mc<?php echo $event->event_id; ?>" <?php echo ( $event->event_flagged == 1 ) ? 'checked="checked"' : ''; ?> />
1795
+ <label for="mc<?php echo $event->event_id; ?>"><?php printf( __( "<span class='screen-reader-text'>Select event </span>%d", 'my-calendar' ), $event->event_id ); ?></label>
1796
</th>
1797
<td>
1798
<strong><?php if ( mc_can_edit_event( $event->event_id ) ) { ?>
1799
+ <a href="<?php echo $edit_url; ?>" class='edit'><span class="dashicons dashicons-edit" aria-hidden="true"></span>
1800
<?php } ?>
1801
<?php echo $spam_label; echo strip_tags( stripslashes( $event->event_title ) ); ?>
1802
<?php if ( mc_can_edit_event( $event->event_id ) ) {
1806
}
1807
} ?></strong>
1808
1809
+ <div class='row-actions'>
1810
<?php if ( mc_event_published( $event ) ) { ?>
1811
<a href="<?php echo $view_url; ?>" class='view'><?php _e( 'View', 'my-calendar' ); ?></a> |
1812
<?php } ?>
1851
<td>
1852
<?php if ( $event->event_label != '' ) { ?><a class='mc_filter' href='<?php $elabel = urlencode( $event->event_label ); echo admin_url( "admin.php?page=my-calendar-manage&amp;filter=$elabel&amp;restrict=where" ); ?>' title="<?php _e( 'Filter by location', 'my-calendar' ); ?>"><span class="screen-reader-text"><?php _e( 'Show only: ', 'my-calendar' ); ?></span><?php echo strip_tags( stripslashes( $event->event_label ) ); ?></a><?php } ?>
1853
</td>
1854
<td><?php
1855
+ if ( $event->event_endtime != "23:59:59" ) {
1856
+ $eventTime = date_i18n( get_option( 'mc_time_format' ), mc_strtotime( $event->event_time ) );
1857
+ } else {
1858
+ $eventTime = mc_notime_label( $event );
1859
+ }
1860
$date_format = ( get_option( 'mc_date_format' ) == '' ) ? get_option( 'date_format' ) : get_option( 'mc_date_format' );
1861
$begin = date_i18n( $date_format, mc_strtotime( $event->event_begin ) );
1862
echo "$begin, $eventTime"; ?>
1865
<?php
1866
$recurs = str_split( $event->event_recur, 1 );
1867
$recur = $recurs[0];
1868
+ $every = ( isset( $recurs[1] ) ) ? str_replace( $recurs[0], '', $event->event_recur ) : 1;
1869
1870
// Interpret the DB values into something human readable
1871
switch ( $recur ) {
1935
}
1936
?>
1937
</table>
1938
+ <ul class="links">
1939
+ <?php if ( get_option( 'mc_event_approve' ) == 'true' ) { ?>
1940
<li>
1941
+ <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'published' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1942
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=published' ); ?>"><?php _e( 'Published', 'my-calendar' ); ?></a>
1943
</li>
1944
<li>
1945
+ <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'reserved' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1946
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=reserved' ); ?>"><?php _e( 'Reserved', 'my-calendar' ); ?></a>
1947
</li>
1948
<li>
1949
+ <a <?php echo ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'archived' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1950
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=archived' ); ?>"><?php _e( 'Archived', 'my-calendar' ); ?></a>
1951
</li>
1952
+ <?php } ?>
1953
+ <?php if ( ( function_exists( 'akismet_http_post' ) || function_exists( 'bs_checker' ) ) && $allow_filters ) { ?>
1954
<li>
1955
+ <a <?php echo ( isset( $_GET['restrict'] ) && $_GET['restrict'] == 'flagged' ) ? 'class="active-link" aria-current="true"' : ''; ?>
1956
+ href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;restrict=flagged&amp;filter=1' ); ?>"><?php _e( 'Spam', 'my-calendar' ); ?></a>
1957
+ </li>
1958
+ <?php } ?>
1959
+ <?php if ( get_option( 'mc_event_approve' ) == 'true' ) { ?>
1960
+ <li>
1961
+ <a <?php echo ( isset( $_GET['limit'] ) && $_GET['limit'] == 'all' || ( ! isset( $_GET['limit'] ) && ! isset( $_GET['restrict'] ) ) ) ? 'class="active-link" aria-current="true"' : ''; ?>
1962
href="<?php echo admin_url( 'admin.php?page=my-calendar-manage&amp;limit=all' ); ?>"><?php _e( 'All', 'my-calendar' ); ?></a>
1963
</li>
1964
+ <?php } ?>
1965
+ </ul>
1966
+ <?php
1967
echo $filtered;
1968
$num_pages = ceil( $items / $items_per_page );
1969
if ( $num_pages > 1 ) {
2460
$id = (int) $id;
2461
$output = '';
2462
if ( $instance == true ) {
2463
+ $sql = "SELECT * FROM " . my_calendar_event_table() . " WHERE occur_id=$id ORDER BY occur_begin ASC";
2464
} else {
2465
+ $sql = "SELECT * FROM " . my_calendar_event_table() . " WHERE occur_event_id=$id ORDER BY occur_begin ASC";
2466
}
2467
$results = $wpdb->get_results( $sql );
2468
if ( is_array( $results ) && is_admin() ) {
my-calendar-events.php CHANGED
@@ -536,6 +536,7 @@ function mc_get_event_post( $event_id ) {
536
return $event->event_post;
537
}
538
}
539
return false;
540
}
541
536
return $event->event_post;
537
}
538
}
539
+
540
return false;
541
}
542
my-calendar-group-manager.php CHANGED
@@ -1088,7 +1088,7 @@ function mc_list_groups() {
1088
<?php
1089
$recurs = str_split( $event->event_recur, 1 );
1090
$recur = $recurs[0];
1091
- $every = ( isset( $recurs[1] ) ) ? $recurs[1] : 1;
1092
1093
// Interpret the DB values into something human readable
1094
switch ( $recur ) {
1088
<?php
1089
$recurs = str_split( $event->event_recur, 1 );
1090
$recur = $recurs[0];
1091
+ $every = ( isset( $recurs[1] ) ) ? str_replace( $recurs[0], '', $event->event_recur ) : 1;
1092
1093
// Interpret the DB values into something human readable
1094
switch ( $recur ) {
my-calendar-limits.php CHANGED
@@ -254,8 +254,12 @@ function mc_limit_string( $type = '', $ltype = '', $lvalue = '' ) {
254
$current_location = $lvalue;
255
}
256
} else {
257
- $location = isset( $_GET['ltype'] ) ? urldecode( $_GET['ltype'] ) : $location;
258
- $current_location = isset( $_GET['loc'] ) ? urldecode( $_GET['loc'] ) : $current_location;
259
}
260
switch ( $location ) {
261
case "name" :
@@ -314,7 +318,7 @@ function mc_limit_string( $type = '', $ltype = '', $lvalue = '' ) {
314
$limit_string .= mc_access_limit( $_GET['access'] );
315
}
316
317
- return $limit_string;
318
}
319
320
function mc_access_limit( $access ) {
254
$current_location = $lvalue;
255
}
256
} else {
257
+ $location = isset( $_GET['ltype'] ) ? urldecode( $_GET['ltype'] ) : $location;
258
+ if ( isset( $_GET['loc'] ) ) {
259
+ $current_location = isset( $_GET['loc'] ) ? urldecode( $_GET['loc'] ) : $current_location;
260
+ } else if ( isset( $_GET['lvalue'] ) ) {
261
+ $current_location = isset( $_GET['lvalue'] ) ? urldecode( $_GET['lvalue'] ) : $current_location;
262
+ }
263
}
264
switch ( $location ) {
265
case "name" :
318
$limit_string .= mc_access_limit( $_GET['access'] );
319
}
320
321
+ return apply_filters( 'mc_location_limit_sql', $limit_string, $ltype, $lvalue );
322
}
323
324
function mc_access_limit( $access ) {
my-calendar-output.php CHANGED
@@ -261,8 +261,8 @@ function my_calendar_draw_event( $event, $type = "calendar", $process_date, $tim
261
if ( strpos( $event_title, 'href' ) === false && $type != 'mini' && $type != 'list' ) {
262
if ( get_option( 'mc_open_uri' ) == 'true' ) {
263
$details_link = esc_url( mc_get_details_link( $event ) );
264
- $wrap = "<a href='$details_link' class='url summary$has_image'>";
265
- $balance = "</a>";
266
} else {
267
$wrap = "<a href='#$uid-$day_id-$type-details' class='url summary$has_image'>";
268
$balance = "</a>";
@@ -1059,10 +1059,10 @@ function my_calendar( $name, $format, $category, $time = 'month', $ltype = '', $
1059
'smonth' => $smonth,
1060
'sday' => $sday
1061
);
1062
- // args used in Md5 hash cannot include 'time' or 'format', since those can be changed by navigation.
1063
$hash_args = array(
1064
'name' => $name,
1065
- 'category' => $category,
1066
'above' => $above,
1067
'below' => $below,
1068
'ltype' => $ltype,
261
if ( strpos( $event_title, 'href' ) === false && $type != 'mini' && $type != 'list' ) {
262
if ( get_option( 'mc_open_uri' ) == 'true' ) {
263
$details_link = esc_url( mc_get_details_link( $event ) );
264
+ $wrap = ( _mc_is_url( $details_link ) ) ? "<a href='$details_link' class='url summary$has_image'>" : '<span class="no-link">';
265
+ $balance = ( _mc_is_url( $details_link ) ) ? "</a>" : '</span>';
266
} else {
267
$wrap = "<a href='#$uid-$day_id-$type-details' class='url summary$has_image'>";
268
$balance = "</a>";
1059
'smonth' => $smonth,
1060
'sday' => $sday
1061
);
1062
+
1063
+ // args used in Md5 hash cannot include 'time', 'category', or 'format', since those can be changed by navigation.
1064
$hash_args = array(
1065
'name' => $name,
1066
'above' => $above,
1067
'below' => $below,
1068
'ltype' => $ltype,
my-calendar-print.php CHANGED
@@ -48,6 +48,7 @@ echo $head;
48
'ltype' => $ltype,
49
'lvalue' => $lvalue
50
);
51
echo my_calendar( 'print', 'calendar', $category, $time, $ltype, $lvalue, 'mc-print-view', '', '', null, null, 'none', 'none' );
52
$return_url = ( get_option( 'mc_uri' ) != '' && ! is_numeric( get_option( 'mc_uri' ) ) ) ? mc_get_uri( false, $args ) : home_url();
53
$return_url = apply_filters( 'mc_print_return_url', $return_url, $category, $time, $ltype, $lvalue );
48
'ltype' => $ltype,
49
'lvalue' => $lvalue
50
);
51
+
52
echo my_calendar( 'print', 'calendar', $category, $time, $ltype, $lvalue, 'mc-print-view', '', '', null, null, 'none', 'none' );
53
$return_url = ( get_option( 'mc_uri' ) != '' && ! is_numeric( get_option( 'mc_uri' ) ) ) ? mc_get_uri( false, $args ) : home_url();
54
$return_url = apply_filters( 'mc_print_return_url', $return_url, $category, $time, $ltype, $lvalue );
my-calendar-settings.php CHANGED
@@ -570,8 +570,7 @@ function edit_my_calendar_config() {
570
571
<div class="inside">
572
<form method="post" action="<?php echo admin_url( "admin.php?page=my-calendar-config#mc-output" ); ?>">
573
- <div><input type="hidden" name="_wpnonce"
574
- value="<?php echo wp_create_nonce( 'my-calendar-nonce' ); ?>"/></div>
575
<input type="submit" name="save" class="button screen-reader-text" value="<?php _e( 'Save Output Settings', 'my-calendar' ); ?>" /></p>
576
<fieldset>
577
<legend><?php _e( 'Calendar Link Targets', 'my-calendar' ); ?></legend>
570
571
<div class="inside">
572
<form method="post" action="<?php echo admin_url( "admin.php?page=my-calendar-config#mc-output" ); ?>">
573
+ <div><input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce( 'my-calendar-nonce' ); ?>"/></div>
574
<input type="submit" name="save" class="button screen-reader-text" value="<?php _e( 'Save Output Settings', 'my-calendar' ); ?>" /></p>
575
<fieldset>
576
<legend><?php _e( 'Calendar Link Targets', 'my-calendar' ); ?></legend>
my-calendar-styles.php CHANGED
@@ -189,8 +189,7 @@ function edit_my_calendar_styles() {
189
?>
190
<fieldset>
191
<p>
192
- <label
193
- for="mc_css_file"><?php _e( 'Select My Calendar Theme', 'my-calendar' ); ?></label>
194
<select name="mc_css_file" id="mc_css_file"><?php
195
if ( ! empty( $files ) ) {
196
echo "<optgroup label='" . __( 'Your Custom Stylesheets', 'my-calendar' ) . "'>\n";
189
?>
190
<fieldset>
191
<p>
192
+ <label for="mc_css_file"><?php _e( 'Select My Calendar Theme', 'my-calendar' ); ?></label>
193
<select name="mc_css_file" id="mc_css_file"><?php
194
if ( ! empty( $files ) ) {
195
echo "<optgroup label='" . __( 'Your Custom Stylesheets', 'my-calendar' ) . "'>\n";
my-calendar-templates.php CHANGED
@@ -799,7 +799,7 @@ function mc_image_data( $e, $event ) {
799
function mc_event_recur_string( $event, $real_begin_date ) {
800
$recurs = str_split( $event->event_recur, 1 );
801
$recur = $recurs[0];
802
- $every = ( isset( $recurs[1] ) ) ? $recurs[1] : 1;
803
$month_date = date( 'dS', strtotime( $real_begin_date ) );
804
$day_name = date_i18n( 'l', strtotime( $real_begin_date ) );
805
$week_number = mc_ordinal( week_of_month( date( 'j', strtotime( $real_begin_date ) ) ) + 1 );
799
function mc_event_recur_string( $event, $real_begin_date ) {
800
$recurs = str_split( $event->event_recur, 1 );
801
$recur = $recurs[0];
802
+ $every = ( isset( $recurs[1] ) ) ? str_replace( $recurs[0], '', $event->event_recur ) : 1;
803
$month_date = date( 'dS', strtotime( $real_begin_date ) );
804
$day_name = date_i18n( 'l', strtotime( $real_begin_date ) );
805
$week_number = mc_ordinal( week_of_month( date( 'j', strtotime( $real_begin_date ) ) ) + 1 );
my-calendar.php CHANGED
@@ -7,7 +7,7 @@ Author: Joseph C Dolson
7
Author URI: http://www.joedolson.com
8
Text Domain: my-calendar
9
Domain Path: lang
10
- Version: 2.5.12
11
*/
12
/* Copyright 2009-2017 Joe Dolson (email : joe@joedolson.com)
13
@@ -30,7 +30,7 @@ if ( ! defined( 'ABSPATH' ) ) {
30
} // Exit if accessed directly
31
32
global $mc_version, $wpdb;
33
- $mc_version = '2.5.12';
34
35
register_activation_hook( __FILE__, 'mc_plugin_activated' );
36
register_deactivation_hook( __FILE__, 'mc_plugin_deactivated' );
@@ -87,7 +87,7 @@ include( dirname( __FILE__ ) . '/my-calendar-generator.php' );
87
// Enable internationalisation
88
add_action( 'plugins_loaded', 'mc_load_textdomain' );
89
function mc_load_textdomain() {
90
- // don't change this; just gradually remove shipped translations when .org trans become complete.
91
load_plugin_textdomain( 'my-calendar', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
92
}
93
7
Author URI: http://www.joedolson.com
8
Text Domain: my-calendar
9
Domain Path: lang
10
+ Version: 2.5.13
11
*/
12
/* Copyright 2009-2017 Joe Dolson (email : joe@joedolson.com)
13
30
} // Exit if accessed directly
31
32
global $mc_version, $wpdb;
33
+ $mc_version = '2.5.13';
34
35
register_activation_hook( __FILE__, 'mc_plugin_activated' );
36
register_deactivation_hook( __FILE__, 'mc_plugin_deactivated' );
87
// Enable internationalisation
88
add_action( 'plugins_loaded', 'mc_load_textdomain' );
89
function mc_load_textdomain() {
90
+ // don't change this; just gradually remove shipped translations if .org trans become complete.
91
load_plugin_textdomain( 'my-calendar', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
92
}
93
readme.txt CHANGED
@@ -4,7 +4,7 @@ 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: 4.8
7
- Stable tag: 2.5.11
8
Text domain: my-calendar
9
License: GPLv2 or later
10
@@ -34,7 +34,7 @@ Easy to use for anybody, My Calendar provides enormous flexibility for designers
34
* Edit occurrences of recurring events
35
* Rich permissions handling to restrict access to parts of My Calendar
36
* Email notification to administrator when events are scheduled or reserved
37
- * Post to Twitter when events are created. (with [WP to Twitter](http://wordpress.org/extend/plugins/wp-to-twitter/))
38
* Location Manager for frequently used venues
39
* Fetch events from a remote database. (Sharing events in a network of sites.)
40
* Import events from [Kieran O'Shea's Calendar plugin](http://wordpress.org/extend/plugins/calendar/)
@@ -83,6 +83,18 @@ Translating my plug-ins is always appreciated. Visit <a href="https://translate.
83
84
== Changelog ==
85
86
= 2.5.12 =
87
88
* Bug fix: missing space in conflict identification
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: 4.8
7
+ Stable tag: 2.5.13
8
Text domain: my-calendar
9
License: GPLv2 or later
10
34
* Edit occurrences of recurring events
35
* Rich permissions handling to restrict access to parts of My Calendar
36
* Email notification to administrator when events are scheduled or reserved
37
+ * Post to Twitter when events are created with [WP to Twitter](http://wordpress.org/extend/plugins/wp-to-twitter/)
38
* Location Manager for frequently used venues
39
* Fetch events from a remote database. (Sharing events in a network of sites.)
40
* Import events from [Kieran O'Shea's Calendar plugin](http://wordpress.org/extend/plugins/calendar/)
83
84
== Changelog ==
85
86
+ = 2.5.13 =
87
+
88
+ * Bug fix: Categories can not be part of the md5 hash used to identify unique tables (breaks AJAX nav for categories)
89
+ * Bug fix: recurring scheduling for week-days only not functional when 7 days or greater
90
+ * Bug fix: Print view location filters broken
91
+ * Bug fix: Make AJAX scripting aware of which other scripts are enabled.
92
+ * Bug fix: Sort scheduled dates for event by date
93
+ * Bug fix: JetPack Grunion Contact form interfered with TinyMCE in contexts outside of post editor (https://github.com/Automattic/jetpack/issues/7598)
94
+ * Bug fix: ensure date is retained if datepicker disabled
95
+ * Bug fix: archived events filter marked as active when not
96
+ *
97
+
98
= 2.5.12 =
99
100
* Bug fix: missing space in conflict identification